@salesforce/b2c-tooling-sdk 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/data/guides/enrichment.json +291 -0
  2. package/data/guides/index.json +426 -37
  3. package/data/schemas/dw.schema.json +590 -0
  4. package/data/tooling/index.json +18 -9
  5. package/dist/esm/cli/base-command.d.ts +20 -1
  6. package/dist/esm/cli/base-command.js +61 -11
  7. package/dist/esm/cli/base-command.js.map +1 -1
  8. package/dist/esm/cli/cartridge-command.js +2 -1
  9. package/dist/esm/cli/cartridge-command.js.map +1 -1
  10. package/dist/esm/cli/command-search.d.ts +85 -0
  11. package/dist/esm/cli/command-search.js +147 -0
  12. package/dist/esm/cli/command-search.js.map +1 -0
  13. package/dist/esm/cli/config.d.ts +10 -1
  14. package/dist/esm/cli/config.js +18 -9
  15. package/dist/esm/cli/config.js.map +1 -1
  16. package/dist/esm/cli/hooks.d.ts +13 -0
  17. package/dist/esm/cli/hooks.js +11 -0
  18. package/dist/esm/cli/hooks.js.map +1 -1
  19. package/dist/esm/cli/index.d.ts +2 -0
  20. package/dist/esm/cli/index.js +2 -0
  21. package/dist/esm/cli/index.js.map +1 -1
  22. package/dist/esm/cli/instance-command.d.ts +1 -0
  23. package/dist/esm/cli/instance-command.js +2 -1
  24. package/dist/esm/cli/instance-command.js.map +1 -1
  25. package/dist/esm/cli/mrt-command.d.ts +3 -2
  26. package/dist/esm/cli/mrt-command.js +4 -4
  27. package/dist/esm/cli/mrt-command.js.map +1 -1
  28. package/dist/esm/cli/oauth-command.d.ts +1 -0
  29. package/dist/esm/cli/ods-command.d.ts +1 -0
  30. package/dist/esm/cli/webdav-command.d.ts +1 -0
  31. package/dist/esm/clients/custom-apis.d.ts +36 -2
  32. package/dist/esm/clients/custom-apis.js +57 -4
  33. package/dist/esm/clients/custom-apis.js.map +1 -1
  34. package/dist/esm/clients/index.d.ts +1 -1
  35. package/dist/esm/clients/index.js +1 -1
  36. package/dist/esm/clients/index.js.map +1 -1
  37. package/dist/esm/clients/scapi-backend-utils.d.ts +15 -0
  38. package/dist/esm/clients/scapi-backend-utils.js +28 -1
  39. package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
  40. package/dist/esm/clients/scapi-fallback-backend.js +2 -2
  41. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
  42. package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
  43. package/dist/esm/compat/dispatcher.js +2 -2
  44. package/dist/esm/compat/dispatcher.js.map +1 -1
  45. package/dist/esm/config/config-origins.d.ts +19 -0
  46. package/dist/esm/config/config-origins.js +11 -0
  47. package/dist/esm/config/config-origins.js.map +1 -0
  48. package/dist/esm/config/config-write.d.ts +86 -0
  49. package/dist/esm/config/config-write.js +296 -0
  50. package/dist/esm/config/config-write.js.map +1 -0
  51. package/dist/esm/config/dw-json-schema.d.ts +14 -0
  52. package/dist/esm/config/dw-json-schema.js +269 -0
  53. package/dist/esm/config/dw-json-schema.js.map +1 -0
  54. package/dist/esm/config/dw-json.d.ts +2 -0
  55. package/dist/esm/config/dw-json.js +10 -6
  56. package/dist/esm/config/dw-json.js.map +1 -1
  57. package/dist/esm/config/index.d.ts +13 -4
  58. package/dist/esm/config/index.js +8 -3
  59. package/dist/esm/config/index.js.map +1 -1
  60. package/dist/esm/config/instance-manager.d.ts +64 -28
  61. package/dist/esm/config/instance-manager.js +145 -63
  62. package/dist/esm/config/instance-manager.js.map +1 -1
  63. package/dist/esm/config/mapping.d.ts +5 -0
  64. package/dist/esm/config/mapping.js +20 -1
  65. package/dist/esm/config/mapping.js.map +1 -1
  66. package/dist/esm/config/project-environment.d.ts +62 -0
  67. package/dist/esm/config/project-environment.js +113 -0
  68. package/dist/esm/config/project-environment.js.map +1 -1
  69. package/dist/esm/config/resolver.d.ts +22 -0
  70. package/dist/esm/config/resolver.js +106 -37
  71. package/dist/esm/config/resolver.js.map +1 -1
  72. package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
  73. package/dist/esm/config/sources/dw-json-source.js +59 -23
  74. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  75. package/dist/esm/config/sources/env-source.d.ts +70 -9
  76. package/dist/esm/config/sources/env-source.js +205 -47
  77. package/dist/esm/config/sources/env-source.js.map +1 -1
  78. package/dist/esm/config/sources/index.d.ts +1 -1
  79. package/dist/esm/config/sources/index.js +1 -1
  80. package/dist/esm/config/sources/index.js.map +1 -1
  81. package/dist/esm/config/types.d.ts +53 -3
  82. package/dist/esm/docs/search.js +3 -1
  83. package/dist/esm/docs/search.js.map +1 -1
  84. package/dist/esm/docs/types.d.ts +3 -1
  85. package/dist/esm/guidance/bundle.d.ts +33 -0
  86. package/dist/esm/guidance/bundle.js +268 -0
  87. package/dist/esm/guidance/bundle.js.map +1 -0
  88. package/dist/esm/guidance/catalog.d.ts +8 -1
  89. package/dist/esm/guidance/catalog.js +48 -6
  90. package/dist/esm/guidance/catalog.js.map +1 -1
  91. package/dist/esm/guidance/index.d.ts +1 -0
  92. package/dist/esm/guidance/index.js +1 -0
  93. package/dist/esm/guidance/index.js.map +1 -1
  94. package/dist/esm/guidance/types.d.ts +17 -1
  95. package/dist/esm/guidance/types.js.map +1 -1
  96. package/dist/esm/index.d.ts +1 -1
  97. package/dist/esm/index.js +1 -1
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/operations/jobs/run-system-job.js +2 -2
  100. package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
  101. package/dist/esm/plugins/discovery.js +2 -1
  102. package/dist/esm/plugins/discovery.js.map +1 -1
  103. package/dist/esm/scapi/catalog.d.ts +5 -2
  104. package/dist/esm/scapi/catalog.js.map +1 -1
  105. package/dist/esm/scapi/index.d.ts +6 -2
  106. package/dist/esm/scapi/index.js +4 -2
  107. package/dist/esm/scapi/index.js.map +1 -1
  108. package/dist/esm/scapi/live.d.ts +14 -3
  109. package/dist/esm/scapi/live.js +33 -5
  110. package/dist/esm/scapi/live.js.map +1 -1
  111. package/dist/esm/scapi/local.d.ts +26 -0
  112. package/dist/esm/scapi/local.js +143 -0
  113. package/dist/esm/scapi/local.js.map +1 -0
  114. package/dist/esm/scapi/request.d.ts +2 -2
  115. package/dist/esm/scapi/request.js +4 -2
  116. package/dist/esm/scapi/request.js.map +1 -1
  117. package/dist/esm/scapi/runtime.d.ts +5 -0
  118. package/dist/esm/scapi/runtime.js.map +1 -1
  119. package/dist/esm/scapi/schema-source.d.ts +90 -0
  120. package/dist/esm/scapi/schema-source.js +146 -0
  121. package/dist/esm/scapi/schema-source.js.map +1 -0
  122. package/dist/esm/scapi/worker-source.js +31 -7
  123. package/dist/esm/scapi/worker-source.js.map +1 -1
  124. package/dist/esm/telemetry/telemetry.d.ts +1 -0
  125. package/dist/esm/telemetry/telemetry.js +18 -1
  126. package/dist/esm/telemetry/telemetry.js.map +1 -1
  127. package/dist/esm/telemetry/types.d.ts +9 -0
  128. package/dist/esm/test-utils/config-isolation.js +21 -15
  129. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  130. package/dist/esm/ux/agent-context.d.ts +69 -0
  131. package/dist/esm/ux/agent-context.js +133 -0
  132. package/dist/esm/ux/agent-context.js.map +1 -0
  133. package/dist/esm/ux/confirm.d.ts +27 -0
  134. package/dist/esm/ux/confirm.js +32 -0
  135. package/dist/esm/ux/confirm.js.map +1 -1
  136. package/dist/esm/ux/index.d.ts +2 -1
  137. package/dist/esm/ux/index.js +2 -1
  138. package/dist/esm/ux/index.js.map +1 -1
  139. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
  140. package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
  141. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
  142. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
  143. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
  144. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
  145. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
  146. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
  147. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
  148. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
  149. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
  150. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
  151. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
  152. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
  153. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
  154. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
  155. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
  156. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
  157. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
  158. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
  159. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
  160. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
  161. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
  162. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
  163. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
  164. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
  165. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
  166. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
  167. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
  168. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
  169. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
  170. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
  171. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
  172. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
  173. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
  174. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
  175. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
  176. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
  177. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
  178. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
  179. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
  180. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
  181. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
  182. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
  183. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
  184. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
  185. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
  186. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
  187. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
  188. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
  189. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
  190. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
  191. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
  192. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
  193. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
  194. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
  195. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
  196. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
  197. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
  198. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
  199. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
  200. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
  201. package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
  202. package/package.json +5 -2
  203. package/specs/scapi-schemas-v1.yaml +4 -1
@@ -2,7 +2,8 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "Shopper Payments",
5
- "version": "1.6.0",
5
+ "description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/shopper-payments/shopper-payments-oas-v1-public.yaml)\n\n# API Overview\n\nUse the Shopper Payments API to:\n\n- Retrieve payment configuration information for storefronts when Salesforce Payments is enabled.\n\nThe API returns the available payment methods, merchant account details, and payment gateway configurations for a specific payment zone site assignment.\n\nThe response includes:\n\n- Zone ID: The unique identifier for the Payments zone.\n- Payment Method Set Accounts: List of configured payment processor accounts with API keys, vendor information (Stripe, Adyen, PayPal, etc.), and live/test mode indicators.\n- Payment Methods: List of available payment methods with their associated accounts, payment method types, and supported payment modes.\n\n## Authentication & Authorization\n\nThe client requesting payment configuration must have access to the `/payment-configuration` resource. The Shopper Payments 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#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides.\n\nYou must include `sfcc.shopper-baskets-orders`, `sfcc.shopper-baskets-orders.rw`, or `sfcc.shopper-standard` in the client ID used to generate the SLAS token. For a full list of permissions, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\n## Response Details\n\n### Personalization\n\nResponses from this API are not personalized via the Shopper Context API.\n\n### Caching\n\nResponses from this API are not cached.\n\n### Timeouts\n\nShopper API requests must respond within 10 seconds, including any hook execution. If a response exceeds this threshold, an HTTP 504 status code is returned. For details, see [Timeouts and Limits.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/timeouts-limits.html)\n\n### Error Handling\n\nError responses follow the [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) problem detail format. To trace errors, include a `correlation-id` header in your request — the response returns it as `x-correlation-id`. For details, see [HTTP Status Codes and Errors.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/error-response-codes.html)\n\n## Use Cases\n\n### Get Payment Configuration\n\nRetrieve the available payment methods for a site.\n\n```sh\ncurl \"https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-payments/v1/organizations/{organizationId}/payment-configuration?siteId=RefArch\" \\\n -H \"Authorization: Bearer {access_token}\"\n```\n\n\n### Retrieve Payment Configuration\n\nRetrieve payment configuration settings for Stripe, PayPal, and Adyen based on the payment methods enabled in the merchant's payment zone site. This includes API keys, vendor details, and live/test mode status. Specify a zone via `zoneId` or use `currency` and `countryCode` for automatic resolution.\n\n## Related APIs\n\n- [Shopper Baskets](https://developer.salesforce.com/docs/commerce/commerce-api/references/shopper-baskets-v2?meta=Summary) — Build baskets and add payment instruments.",
6
+ "version": "1.7.2",
6
7
  "x-api-type": "Shopper",
7
8
  "x-api-family": "Checkout"
8
9
  },
@@ -11,6 +12,7 @@
11
12
  "url": "https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-payments/v1",
12
13
  "variables": {
13
14
  "shortCode": {
15
+ "description": "An eight-character string assigned to a realm for routing purposes. See [Base URL and Request Formation.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html)",
14
16
  "default": "shortCode"
15
17
  }
16
18
  }
@@ -19,41 +21,58 @@
19
21
  "paths": {
20
22
  "/organizations/{organizationId}/payment-configuration": {
21
23
  "get": {
24
+ "summary": "Get payment configuration",
25
+ "description": "Retrieves the payment configuration for the organization.\n\n**Parameters:**\n- `siteId`: Required. The site identifier for context-specific configuration\n- `currency`: Required. Three-letter currency code (ISO 4217) for payment method configuration\n- `countryCode`: Optional. Two-letter country code (ISO 3166-1 alpha-2) for country-specific payment configuration\n- `amount`: Optional. Transaction amount for payment method configuration\n- `zoneId`: Optional. Payment zone identifier to retrieve zone-specific configuration\n\n**Response Behavior:**\n- Returns payment configuration data when available\n- Returns null values for missing data (e.g., when account not found or payments zone not found)",
22
26
  "operationId": "getPaymentConfiguration",
23
27
  "parameters": [
24
28
  {
25
29
  "name": "organizationId",
26
30
  "in": "path",
31
+ "description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
27
32
  "required": true,
28
33
  "style": "simple",
29
34
  "explode": false,
30
35
  "schema": {
31
36
  "$ref": "#/components/schemas/OrganizationId"
32
- }
37
+ },
38
+ "example": "f_ecom_zzxy_prd"
33
39
  },
34
40
  {
35
41
  "name": "siteId",
36
42
  "in": "query",
43
+ "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.",
37
44
  "required": true,
38
45
  "style": "form",
39
46
  "explode": true,
40
47
  "schema": {
41
48
  "$ref": "#/components/schemas/SiteId"
49
+ },
50
+ "examples": {
51
+ "SiteId": {
52
+ "value": "RefArch"
53
+ }
42
54
  }
43
55
  },
44
56
  {
45
57
  "name": "currency",
46
58
  "in": "query",
59
+ "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.",
47
60
  "required": true,
48
61
  "style": "form",
49
62
  "explode": true,
50
63
  "schema": {
51
64
  "$ref": "#/components/schemas/CurrencyCode"
65
+ },
66
+ "examples": {
67
+ "CurrencyCode": {
68
+ "value": "USD"
69
+ }
52
70
  }
53
71
  },
54
72
  {
55
73
  "name": "countryCode",
56
74
  "in": "query",
75
+ "description": "The country code (ISO 3166-1 alpha-2) for country-specific payment configuration filtering.",
57
76
  "required": false,
58
77
  "style": "form",
59
78
  "explode": true,
@@ -64,16 +83,23 @@
64
83
  {
65
84
  "name": "zoneId",
66
85
  "in": "query",
86
+ "description": "The zone identifier for the payment configuration. Optional, if specified will return zone specific payment configuration instead of resolving based on the currency and country.",
67
87
  "required": false,
68
88
  "style": "form",
69
89
  "explode": true,
70
90
  "schema": {
71
91
  "$ref": "#/components/schemas/ZoneId"
92
+ },
93
+ "examples": {
94
+ "ZoneId": {
95
+ "value": "Amer-Zone"
96
+ }
72
97
  }
73
98
  },
74
99
  {
75
100
  "name": "amount",
76
101
  "in": "query",
102
+ "description": "The transaction amount. Optional. Some gateways, such as Adyen, allow for payment methods to be qualified or disqualified based on the amount of the transaction.",
77
103
  "required": false,
78
104
  "style": "form",
79
105
  "explode": true,
@@ -84,31 +110,20 @@
84
110
  {
85
111
  "name": "sfdc_usid",
86
112
  "in": "header",
113
+ "description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
87
114
  "required": false,
88
115
  "style": "simple",
89
116
  "explode": false,
90
117
  "schema": {
91
118
  "type": "string",
92
- "format": "uuid"
93
- }
94
- },
95
- {
96
- "name": "sfdc_dw_dnt",
97
- "in": "header",
98
- "required": false,
99
- "style": "simple",
100
- "explode": false,
101
- "schema": {
102
- "type": "string",
103
- "enum": [
104
- "0",
105
- "1"
106
- ]
119
+ "format": "uuid",
120
+ "example": "550e8400-e29b-41d4-a716-446655440000"
107
121
  }
108
122
  },
109
123
  {
110
124
  "name": "personalized",
111
125
  "in": "query",
126
+ "description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
112
127
  "required": false,
113
128
  "style": "form",
114
129
  "explode": true,
@@ -116,12 +131,14 @@
116
131
  "type": "string",
117
132
  "enum": [
118
133
  "none"
119
- ]
134
+ ],
135
+ "example": "none"
120
136
  }
121
137
  },
122
138
  {
123
139
  "name": "sfdc_shopper_context",
124
140
  "in": "header",
141
+ "description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
125
142
  "required": false,
126
143
  "style": "simple",
127
144
  "explode": false,
@@ -137,6 +154,20 @@
137
154
  "application/json": {
138
155
  "schema": {
139
156
  "$ref": "#/components/schemas/PaymentConfiguration"
157
+ },
158
+ "examples": {
159
+ "stripeConfiguration": {
160
+ "$ref": "#/components/examples/PaymentConfigurationGetForStripe"
161
+ },
162
+ "stripeAndPaypalConfiguration": {
163
+ "$ref": "#/components/examples/PaymentConfigurationGetForStripeAndPaypal"
164
+ },
165
+ "adyenConfiguration": {
166
+ "$ref": "#/components/examples/PaymentConfigurationGetForAdyen"
167
+ },
168
+ "noDataFound": {
169
+ "$ref": "#/components/examples/PaymentConfigurationNoDataFound"
170
+ }
140
171
  }
141
172
  }
142
173
  }
@@ -147,6 +178,14 @@
147
178
  "application/problem+json": {
148
179
  "schema": {
149
180
  "$ref": "#/components/schemas/ErrorResponse"
181
+ },
182
+ "examples": {
183
+ "BadRequest": {
184
+ "$ref": "#/components/examples/BadRequest"
185
+ },
186
+ "InvalidPaymentConfigurationRequest": {
187
+ "$ref": "#/components/examples/InvalidPaymentConfigurationRequest"
188
+ }
150
189
  }
151
190
  }
152
191
  }
@@ -172,56 +211,55 @@
172
211
  },
173
212
  "/organizations/{organizationId}/payment-instruments/balance": {
174
213
  "post": {
214
+ "summary": "Check payment instrument balance",
215
+ "description": "Checks the balance of a payment instrument.\n\n**Parameters:**\n- `siteId`: Required. Specifies the site identifier for context-specific configuration.\n\n**Request Body:**\n- `paymentMethodId`: Required. The payment method ID.\n- `provider`: Required. Identifies the payment provider that handles the balance inquiry.\n- `providerProperties`: Required. Provider-specific balance inquiry properties. Do not include PCI-relevant\n data, such as a primary account number (PAN), in this object. Use client-side tokenization or encrypted\n fields when payment-instrument data is required.\n\n**Response Behavior:**\n- Returns the balance amount and currency when the payment instrument is valid.",
175
216
  "operationId": "getPaymentInstrumentBalance",
176
217
  "parameters": [
177
218
  {
178
219
  "name": "organizationId",
179
220
  "in": "path",
221
+ "description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
180
222
  "required": true,
181
223
  "style": "simple",
182
224
  "explode": false,
183
225
  "schema": {
184
226
  "$ref": "#/components/schemas/OrganizationId"
185
- }
227
+ },
228
+ "example": "f_ecom_zzxy_prd"
186
229
  },
187
230
  {
188
231
  "name": "siteId",
189
232
  "in": "query",
233
+ "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.",
190
234
  "required": true,
191
235
  "style": "form",
192
236
  "explode": true,
193
237
  "schema": {
194
238
  "$ref": "#/components/schemas/SiteId"
239
+ },
240
+ "examples": {
241
+ "SiteId": {
242
+ "value": "RefArch"
243
+ }
195
244
  }
196
245
  },
197
246
  {
198
247
  "name": "sfdc_usid",
199
248
  "in": "header",
249
+ "description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
200
250
  "required": false,
201
251
  "style": "simple",
202
252
  "explode": false,
203
253
  "schema": {
204
254
  "type": "string",
205
- "format": "uuid"
206
- }
207
- },
208
- {
209
- "name": "sfdc_dw_dnt",
210
- "in": "header",
211
- "required": false,
212
- "style": "simple",
213
- "explode": false,
214
- "schema": {
215
- "type": "string",
216
- "enum": [
217
- "0",
218
- "1"
219
- ]
255
+ "format": "uuid",
256
+ "example": "550e8400-e29b-41d4-a716-446655440000"
220
257
  }
221
258
  },
222
259
  {
223
260
  "name": "sfdc_shopper_context",
224
261
  "in": "header",
262
+ "description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
225
263
  "required": false,
226
264
  "style": "simple",
227
265
  "explode": false,
@@ -235,6 +273,11 @@
235
273
  "application/json": {
236
274
  "schema": {
237
275
  "$ref": "#/components/schemas/PaymentInstrumentBalanceRequest"
276
+ },
277
+ "examples": {
278
+ "PaymentInstrumentBalanceRequest": {
279
+ "$ref": "#/components/examples/PaymentInstrumentBalanceRequest"
280
+ }
238
281
  }
239
282
  }
240
283
  },
@@ -247,16 +290,29 @@
247
290
  "application/json": {
248
291
  "schema": {
249
292
  "$ref": "#/components/schemas/PaymentInstrumentBalanceResponse"
293
+ },
294
+ "examples": {
295
+ "PaymentInstrumentBalance": {
296
+ "$ref": "#/components/examples/PaymentInstrumentBalanceSuccess"
297
+ }
250
298
  }
251
299
  }
252
300
  }
253
301
  },
254
302
  "400": {
255
- "description": "Possible reasons:\n- the provided payment method is invalid or not applicable.\n- the gift card details are invalid or missing when paymentMethodId is GIFT_CERTIFICATE.",
303
+ "description": "Possible reasons:\n- the provided payment method is invalid or not applicable.\n- the provider-specific request properties are invalid or missing.",
256
304
  "content": {
257
305
  "application/problem+json": {
258
306
  "schema": {
259
307
  "$ref": "#/components/schemas/ErrorResponse"
308
+ },
309
+ "examples": {
310
+ "BadRequest": {
311
+ "$ref": "#/components/examples/BadRequest"
312
+ },
313
+ "InvalidPaymentInstrumentBalanceRequest": {
314
+ "$ref": "#/components/examples/InvalidPaymentInstrumentBalanceRequest"
315
+ }
260
316
  }
261
317
  }
262
318
  }
@@ -285,29 +341,41 @@
285
341
  "schemas": {
286
342
  "OrganizationId": {
287
343
  "type": "string",
344
+ "description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
345
+ "example": "f_ecom_zzxy_prd",
288
346
  "pattern": "^f_ecom_[a-z]{4}_(prd|stg|dev|s[0-9]{2}|[0-9]{3})$"
289
347
  },
290
348
  "SiteId": {
291
349
  "type": "string",
350
+ "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",
351
+ "example": "RefArch",
292
352
  "maxLength": 32,
293
353
  "minLength": 1
294
354
  },
295
355
  "CurrencyCode": {
296
356
  "type": "string",
357
+ "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.",
358
+ "example": "USD",
297
359
  "pattern": "^([A-Z][A-Z][A-Z]|N/A)$"
298
360
  },
299
361
  "CountryCode": {
300
362
  "type": "string",
363
+ "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.",
364
+ "example": "US",
301
365
  "pattern": "^[A-Z][A-Z]$"
302
366
  },
303
367
  "ZoneId": {
304
368
  "type": "string",
369
+ "description": "The unique identifier for a Payments zone.",
370
+ "example": "Amer-Zone",
305
371
  "maxLength": 100,
306
372
  "minLength": 1
307
373
  },
308
374
  "Amount": {
309
375
  "type": "number",
310
376
  "format": "double",
377
+ "description": "The transaction amount.",
378
+ "example": 100,
311
379
  "minimum": 0
312
380
  },
313
381
  "PaymentConfiguration": {
@@ -315,47 +383,64 @@
315
383
  "properties": {
316
384
  "zoneId": {
317
385
  "type": "string",
386
+ "description": "The unique identifier for a Payments zone.",
387
+ "example": "Amer-Zone",
318
388
  "maxLength": 100,
319
389
  "minLength": 1,
320
390
  "pattern": "^[a-zA-Z0-9\\-_]{1,100}$"
321
391
  },
322
392
  "paymentMethodSetAccounts": {
323
393
  "type": "array",
394
+ "description": "List of payment method set accounts",
324
395
  "items": {
325
396
  "type": "object",
326
397
  "properties": {
327
398
  "accountId": {
328
399
  "type": "string",
400
+ "description": "Account identifier",
401
+ "example": "acct_1RegszI5I22eU0I3",
329
402
  "maxLength": 100,
330
403
  "minLength": 1
331
404
  },
332
405
  "config": {
333
406
  "type": "object",
334
407
  "additionalProperties": true,
408
+ "description": "Account configuration",
335
409
  "properties": {
336
410
  "key": {
337
411
  "type": "string",
412
+ "description": "API key for the payment processor",
413
+ "example": "pk_test_JsbBx7imKb7n7Xtlb5MH5BNO00ttiURmPV",
338
414
  "maxLength": 200
339
415
  },
340
416
  "bnCode": {
341
417
  "type": "string",
418
+ "description": "Account BN code (optional, null if not a PayPal account)",
419
+ "example": "Example_PPCP",
342
420
  "maxLength": 100
343
421
  },
344
422
  "country": {
345
423
  "type": "string",
424
+ "description": "The country associated with this payment account configuration",
425
+ "example": "US",
346
426
  "maxLength": 256
347
427
  },
348
428
  "paymentMethods": {
349
429
  "type": "object",
350
- "additionalProperties": true
430
+ "additionalProperties": true,
431
+ "description": "Available payment methods from gateway (optional, null if not an Adyen account)"
351
432
  }
352
433
  }
353
434
  },
354
435
  "live": {
355
- "type": "boolean"
436
+ "type": "boolean",
437
+ "description": "Whether the account is in live mode",
438
+ "example": false
356
439
  },
357
440
  "vendor": {
358
- "type": "string"
441
+ "type": "string",
442
+ "description": "Payment vendor name",
443
+ "example": "Stripe"
359
444
  }
360
445
  },
361
446
  "required": [
@@ -367,20 +452,30 @@
367
452
  },
368
453
  "paymentMethods": {
369
454
  "type": "array",
455
+ "description": "Configured payment methods",
370
456
  "items": {
371
457
  "type": "object",
372
458
  "properties": {
373
459
  "accountId": {
374
460
  "type": "string",
461
+ "description": "Associated account identifier",
462
+ "example": "acct_1RegszI5I22eU0I3",
375
463
  "minLength": 1
376
464
  },
377
465
  "paymentMethodType": {
378
- "type": "string"
466
+ "type": "string",
467
+ "description": "Type of payment method",
468
+ "example": "card"
379
469
  },
380
470
  "paymentModes": {
381
471
  "type": "array",
472
+ "description": "Supported payment modes",
473
+ "example": [
474
+ "Multistep"
475
+ ],
382
476
  "items": {
383
- "type": "string"
477
+ "type": "string",
478
+ "example": "Multistep"
384
479
  }
385
480
  }
386
481
  },
@@ -403,17 +498,25 @@
403
498
  "properties": {
404
499
  "title": {
405
500
  "type": "string",
501
+ "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",
502
+ "example": "You do not have enough credit",
406
503
  "maxLength": 256
407
504
  },
408
505
  "type": {
409
506
  "type": "string",
507
+ "description": "A URI reference [RFC3986] that identifies the\nproblem type. This specification encourages that, when\ndereferenced, it provide human-readable documentation for the\nproblem type (e.g., using HTML [W3C.REC-html5-20141028]). When\nthis member is not present, its value is assumed to be\n\"about:blank\". It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
508
+ "example": "NotEnoughMoney",
410
509
  "maxLength": 2048
411
510
  },
412
511
  "detail": {
413
- "type": "string"
512
+ "type": "string",
513
+ "description": "A human-readable explanation specific to this occurrence of the problem.",
514
+ "example": "Your current balance is 30, but that costs 50"
414
515
  },
415
516
  "instance": {
416
517
  "type": "string",
518
+ "description": "A URI reference that identifies the specific\noccurrence of the problem. It may or may not yield further\ninformation if dereferenced. It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
519
+ "example": "/account/12345/msgs/abc",
417
520
  "maxLength": 2048
418
521
  }
419
522
  },
@@ -423,62 +526,44 @@
423
526
  "type"
424
527
  ]
425
528
  },
426
- "GiftCardRequest": {
427
- "type": "object",
428
- "additionalProperties": false,
429
- "properties": {
430
- "brand": {
431
- "type": "string",
432
- "maxLength": 256
433
- },
434
- "cardNumber": {
435
- "type": "string",
436
- "maxLength": 40
437
- },
438
- "cvc": {
439
- "type": "string",
440
- "maxLength": 4
441
- },
442
- "expirationMonth": {
443
- "type": "integer",
444
- "format": "int32"
445
- },
446
- "expirationYear": {
447
- "type": "integer",
448
- "format": "int32"
449
- }
450
- },
451
- "required": [
452
- "brand",
453
- "cardNumber",
454
- "cvc"
455
- ]
456
- },
457
529
  "PaymentInstrumentBalanceRequest": {
458
530
  "type": "object",
531
+ "description": "Request body for checking the balance of a payment instrument.\n\nThe payment method ID and provider identify the payment provider. Provider-specific properties are defined and\nvalidated by that provider.",
459
532
  "properties": {
460
533
  "paymentMethodId": {
461
534
  "type": "string",
462
- "maxLength": 256
535
+ "description": "The payment method ID.",
536
+ "example": "COMMERCE_APP_GIFT_CARD",
537
+ "maxLength": 256,
538
+ "minLength": 1
463
539
  },
464
- "giftCard": {
465
- "allOf": [
466
- {
467
- "$ref": "#/components/schemas/GiftCardRequest"
468
- }
469
- ]
540
+ "provider": {
541
+ "type": "string",
542
+ "description": "Identifies the payment provider that handles the balance inquiry.",
543
+ "example": "givex",
544
+ "maxLength": 256,
545
+ "minLength": 1
546
+ },
547
+ "providerProperties": {
548
+ "type": "object",
549
+ "additionalProperties": true,
550
+ "description": "Provider-specific balance inquiry properties. Do not include PCI-relevant data, such as a primary account\nnumber (PAN), in this object. Use client-side tokenization or encrypted fields when payment-instrument\ndata is required."
470
551
  }
471
552
  },
472
553
  "required": [
473
- "giftCard",
474
- "paymentMethodId"
554
+ "paymentMethodId",
555
+ "provider",
556
+ "providerProperties"
475
557
  ]
476
558
  },
477
559
  "PaymentInstrumentBalanceResponse": {
478
560
  "type": "object",
561
+ "description": "Response containing the payment instrument balance information.",
479
562
  "properties": {
480
563
  "amount": {
481
564
  "type": "number",
565
+ "description": "The remaining balance on the payment instrument.",
566
+ "example": 50,
482
567
  "minimum": 0
483
568
  },
484
569
  "currency": {
@@ -486,7 +571,8 @@
486
571
  {
487
572
  "$ref": "#/components/schemas/CurrencyCode"
488
573
  }
489
- ]
574
+ ],
575
+ "description": "The three-letter currency code (ISO 4217) of the payment instrument balance."
490
576
  }
491
577
  },
492
578
  "required": [
@@ -499,36 +585,51 @@
499
585
  "organizationId": {
500
586
  "name": "organizationId",
501
587
  "in": "path",
588
+ "description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
502
589
  "required": true,
503
590
  "style": "simple",
504
591
  "explode": false,
505
592
  "schema": {
506
593
  "$ref": "#/components/schemas/OrganizationId"
507
- }
594
+ },
595
+ "example": "f_ecom_zzxy_prd"
508
596
  },
509
597
  "siteId": {
510
598
  "name": "siteId",
511
599
  "in": "query",
600
+ "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.",
512
601
  "required": true,
513
602
  "style": "form",
514
603
  "explode": true,
515
604
  "schema": {
516
605
  "$ref": "#/components/schemas/SiteId"
606
+ },
607
+ "examples": {
608
+ "SiteId": {
609
+ "value": "RefArch"
610
+ }
517
611
  }
518
612
  },
519
613
  "currency": {
520
614
  "name": "currency",
521
615
  "in": "query",
616
+ "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.",
522
617
  "required": true,
523
618
  "style": "form",
524
619
  "explode": true,
525
620
  "schema": {
526
621
  "$ref": "#/components/schemas/CurrencyCode"
622
+ },
623
+ "examples": {
624
+ "CurrencyCode": {
625
+ "value": "USD"
626
+ }
527
627
  }
528
628
  },
529
629
  "countryCode": {
530
630
  "name": "countryCode",
531
631
  "in": "query",
632
+ "description": "The country code (ISO 3166-1 alpha-2) for country-specific payment configuration filtering.",
532
633
  "required": false,
533
634
  "style": "form",
534
635
  "explode": true,
@@ -539,16 +640,23 @@
539
640
  "zoneId": {
540
641
  "name": "zoneId",
541
642
  "in": "query",
643
+ "description": "The zone identifier for the payment configuration. Optional, if specified will return zone specific payment configuration instead of resolving based on the currency and country.",
542
644
  "required": false,
543
645
  "style": "form",
544
646
  "explode": true,
545
647
  "schema": {
546
648
  "$ref": "#/components/schemas/ZoneId"
649
+ },
650
+ "examples": {
651
+ "ZoneId": {
652
+ "value": "Amer-Zone"
653
+ }
547
654
  }
548
655
  },
549
656
  "amount": {
550
657
  "name": "amount",
551
658
  "in": "query",
659
+ "description": "The transaction amount. Optional. Some gateways, such as Adyen, allow for payment methods to be qualified or disqualified based on the amount of the transaction.",
552
660
  "required": false,
553
661
  "style": "form",
554
662
  "explode": true,
@@ -559,31 +667,20 @@
559
667
  "sfdcUsid": {
560
668
  "name": "sfdc_usid",
561
669
  "in": "header",
670
+ "description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
562
671
  "required": false,
563
672
  "style": "simple",
564
673
  "explode": false,
565
674
  "schema": {
566
675
  "type": "string",
567
- "format": "uuid"
568
- }
569
- },
570
- "sfdcDwDnt": {
571
- "name": "sfdc_dw_dnt",
572
- "in": "header",
573
- "required": false,
574
- "style": "simple",
575
- "explode": false,
576
- "schema": {
577
- "type": "string",
578
- "enum": [
579
- "0",
580
- "1"
581
- ]
676
+ "format": "uuid",
677
+ "example": "550e8400-e29b-41d4-a716-446655440000"
582
678
  }
583
679
  },
584
680
  "personalized": {
585
681
  "name": "personalized",
586
682
  "in": "query",
683
+ "description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
587
684
  "required": false,
588
685
  "style": "form",
589
686
  "explode": true,
@@ -591,12 +688,14 @@
591
688
  "type": "string",
592
689
  "enum": [
593
690
  "none"
594
- ]
691
+ ],
692
+ "example": "none"
595
693
  }
596
694
  },
597
695
  "sfdcShopperContext": {
598
696
  "name": "sfdc_shopper_context",
599
697
  "in": "header",
698
+ "description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
600
699
  "required": false,
601
700
  "style": "simple",
602
701
  "explode": false,
@@ -605,9 +704,160 @@
605
704
  }
606
705
  }
607
706
  },
707
+ "examples": {
708
+ "PaymentConfigurationGetForStripe": {
709
+ "value": {
710
+ "zoneId": "Amer-Zone",
711
+ "paymentMethodSetAccounts": [
712
+ {
713
+ "accountId": "acct_1RegszI5I22eU0I3",
714
+ "config": {
715
+ "key": "pk_test_JsbBx7imKb7n7Xtlb5MH5BNO00ttiURmPV"
716
+ },
717
+ "live": false,
718
+ "vendor": "Stripe"
719
+ }
720
+ ],
721
+ "paymentMethods": [
722
+ {
723
+ "accountId": "acct_1RegszI5I22eU0I3",
724
+ "paymentMethodType": "card",
725
+ "paymentModes": [
726
+ "Multistep"
727
+ ]
728
+ }
729
+ ]
730
+ }
731
+ },
732
+ "PaymentConfigurationGetForStripeAndPaypal": {
733
+ "value": {
734
+ "zoneId": "Amer-Zone",
735
+ "paymentMethodSetAccounts": [
736
+ {
737
+ "accountId": "acct_1RegszI5I22eU0I3",
738
+ "config": {
739
+ "key": "pk_test_JsbBx7imKb7n7Xtlb5MH5BNO00ttiURmPV"
740
+ },
741
+ "live": false,
742
+ "vendor": "Stripe"
743
+ },
744
+ {
745
+ "accountId": "XK92PMVFNRBDG",
746
+ "config": {
747
+ "bnCode": "SalesforceCommerceCloud_PPCP",
748
+ "key": "AYzMrnD7y4Zc5m5QJZTQ4zPKbP8TMn0r7aStK_3hM9gnaykL-VwK5tGQj4g1y93V6UNvC5j_FZSSa6xpR"
749
+ },
750
+ "live": false,
751
+ "vendor": "Paypal"
752
+ }
753
+ ],
754
+ "paymentMethods": [
755
+ {
756
+ "accountId": "acct_1RegszI5I22eU0I3",
757
+ "paymentMethodType": "card",
758
+ "paymentModes": [
759
+ "Multistep"
760
+ ]
761
+ },
762
+ {
763
+ "accountId": "XK92PMVFNRBDG",
764
+ "paymentMethodType": "paypal",
765
+ "paymentModes": [
766
+ "Multistep"
767
+ ]
768
+ }
769
+ ]
770
+ }
771
+ },
772
+ "PaymentConfigurationGetForAdyen": {
773
+ "value": {
774
+ "zoneId": "Amer-Zone",
775
+ "paymentMethodSetAccounts": [
776
+ {
777
+ "accountId": "TestAccount941ECOM",
778
+ "config": {
779
+ "country": "US",
780
+ "key": "test_JE2ML2CMKZHJRL3QWUW4YCE32A3SL3BH",
781
+ "paymentMethods": {
782
+ "paymentMethods": [
783
+ {
784
+ "brands": [
785
+ "amex",
786
+ "cup",
787
+ "diners",
788
+ "discover",
789
+ "mc",
790
+ "visa"
791
+ ],
792
+ "name": "Cards",
793
+ "type": "scheme"
794
+ }
795
+ ]
796
+ }
797
+ },
798
+ "live": false,
799
+ "vendor": "Adyen"
800
+ }
801
+ ],
802
+ "paymentMethods": [
803
+ {
804
+ "accountId": "TestAccount941ECOM",
805
+ "paymentMethodType": "card",
806
+ "paymentModes": [
807
+ "Multistep"
808
+ ]
809
+ }
810
+ ]
811
+ }
812
+ },
813
+ "PaymentConfigurationNoDataFound": {
814
+ "value": {
815
+ "paymentMethodSetAccounts": [],
816
+ "paymentMethods": []
817
+ }
818
+ },
819
+ "BadRequest": {
820
+ "value": {
821
+ "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
822
+ "title": "Bad Request",
823
+ "detail": "Decoding of the property with path '$.failedExample.[1].intProperty' failed because the expected type is 'Integer|Decimal' but the actual type was 'String'."
824
+ }
825
+ },
826
+ "InvalidPaymentConfigurationRequest": {
827
+ "value": {
828
+ "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-payment-configuration-request",
829
+ "title": "Bad Request",
830
+ "detail": "The payment configuration request field 'countryCode' is invalid.",
831
+ "invalidField": "countryCode"
832
+ }
833
+ },
834
+ "PaymentInstrumentBalanceRequest": {
835
+ "value": {
836
+ "paymentMethodId": "COMMERCE_APP_GIFT_CARD",
837
+ "provider": "givex",
838
+ "providerProperties": {
839
+ "balanceToken": "provider-issued-short-lived-token"
840
+ }
841
+ }
842
+ },
843
+ "PaymentInstrumentBalanceSuccess": {
844
+ "value": {
845
+ "amount": 50,
846
+ "currency": "USD"
847
+ }
848
+ },
849
+ "InvalidPaymentInstrumentBalanceRequest": {
850
+ "value": {
851
+ "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
852
+ "title": "Bad Request",
853
+ "detail": "The provided payment method is invalid or not applicable."
854
+ }
855
+ }
856
+ },
608
857
  "securitySchemes": {
609
858
  "ShopperToken": {
610
859
  "type": "oauth2",
860
+ "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",
611
861
  "flows": {
612
862
  "clientCredentials": {
613
863
  "tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token",
@@ -619,6 +869,7 @@
619
869
  "authorizationCode": {
620
870
  "authorizationUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/authorize",
621
871
  "tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token",
872
+ "refreshUrl": "https://account.demandware.com/dwsso/oauth2/access_token",
622
873
  "scopes": {
623
874
  "sfcc.shopper-baskets-orders": "Scope granting read-access to shopper basket or orders endpoints",
624
875
  "sfcc.shopper-baskets-orders.rw": "Scope granting read and write access to shopper basket or orders endpoints"
@@ -628,6 +879,7 @@
628
879
  },
629
880
  "ShopperClientContextToken": {
630
881
  "type": "oauth2",
882
+ "description": "ShopperClientContextToken is a separate security scheme used to track and validate client context information.\nIt is valid for Guest shoppers flows only using SLAS private clients. For registered shoppers, use existing ShopperToken flows.\nFor authentication details, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nThis token allows access to Shopper API endpoints for guest shoppers only.\n",
631
883
  "flows": {
632
884
  "clientCredentials": {
633
885
  "tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token?hint=client_context",