My Quotes
The API requires an access token from the password flow.
Representations
MyQuoteState
QuoteStates that can be set using the Change My Quote State update action.
Get My Quote
Get My Quote by ID
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
idString |
|
expand | The parameter can be passed multiple times. |
application/jsoncurl --get https://api.{region}.commercetools.com/{projectKey}/me/quotes/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "2a3baa00-44fa-4ab8-bec7-933c31e18dcc","version": 5,"createdAt": "2015-09-22T15:36:17.510Z","lastModifiedAt": "2015-09-22T15:41:55.816Z","quoteState": "Accepted","quoteRequest": {"typeId": "quote-request","id": "8a3faa00-33fa-4ab8-bee7-833f31e18dcc"},"stagedQuote": {"typeId": "staged-quote","id": "8a3baa00-44fa-4ab8-bec7-933c31e18dcc"},"customer": {"typeId": "customer","id": "92f5a867-bf19-47ab-982c-6720a03a3921"},"businessUnit": {"key": "bu-345-france","typeId": "business-unit"},"lineItems": [{"id": "b925a817-d5ad-48bb-a407-29ad8e0649b5","productId": "9f10dcfb-5cc9-4a18-843a-c07f7e22d01f","name": {"en": "SAPPHIRE"},"productType": {"typeId": "product-type","id": "2543e1d8-4915-4f72-a3c9-1df9b1b0082d","version": 8},"productSlug": {"en": "sapphire1421832124423"},"variant": {"id": 1,"sku": "sku_SAPPHIRE_variant1_1421832124423","prices": [{"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"}],"images": [{"url": "https://www.commercetools.com/cli/data/252542005_1.jpg","dimensions": {"w": 1400,"h": 1400}}],"attributes": [],"assets": []},"price": {"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"},"quantity": 2,"discountedPricePerQuantity": [],"state": [{"quantity": 2,"state": {"typeId": "state","id": "7c2e2694-aefe-43d7-888e-6a99514caaca"}}],"priceMode": "Platform","lineItemMode": "Standard","totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"perMethodTaxRate": [],"taxedPricePortions": []}],"totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"customLineItems": [],"directDiscounts": [],"inventoryMode": "None","taxMode": "Platform","taxRoundingMode": "HalfEven","taxCalculationMode": "LineItemLevel"}
Get My Quote by Key
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
keyString |
|
expand | The parameter can be passed multiple times. |
application/jsoncurl --get https://api.{region}.commercetools.com/{projectKey}/me/quotes/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "2a3baa00-44fa-4ab8-bec7-933c31e18dcc","version": 5,"createdAt": "2015-09-22T15:36:17.510Z","lastModifiedAt": "2015-09-22T15:41:55.816Z","quoteState": "Accepted","quoteRequest": {"typeId": "quote-request","id": "8a3faa00-33fa-4ab8-bee7-833f31e18dcc"},"stagedQuote": {"typeId": "staged-quote","id": "8a3baa00-44fa-4ab8-bec7-933c31e18dcc"},"customer": {"typeId": "customer","id": "92f5a867-bf19-47ab-982c-6720a03a3921"},"businessUnit": {"key": "bu-345-france","typeId": "business-unit"},"lineItems": [{"id": "b925a817-d5ad-48bb-a407-29ad8e0649b5","productId": "9f10dcfb-5cc9-4a18-843a-c07f7e22d01f","name": {"en": "SAPPHIRE"},"productType": {"typeId": "product-type","id": "2543e1d8-4915-4f72-a3c9-1df9b1b0082d","version": 8},"productSlug": {"en": "sapphire1421832124423"},"variant": {"id": 1,"sku": "sku_SAPPHIRE_variant1_1421832124423","prices": [{"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"}],"images": [{"url": "https://www.commercetools.com/cli/data/252542005_1.jpg","dimensions": {"w": 1400,"h": 1400}}],"attributes": [],"assets": []},"price": {"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"},"quantity": 2,"discountedPricePerQuantity": [],"state": [{"quantity": 2,"state": {"typeId": "state","id": "7c2e2694-aefe-43d7-888e-6a99514caaca"}}],"priceMode": "Platform","lineItemMode": "Standard","totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"perMethodTaxRate": [],"taxedPricePortions": []}],"totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"customLineItems": [],"directDiscounts": [],"inventoryMode": "None","taxMode": "Platform","taxRoundingMode": "HalfEven","taxCalculationMode": "LineItemLevel"}
Query My Quotes
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
where | The parameter can be passed multiple times. |
sort | The parameter can be passed multiple times. |
expand | The parameter can be passed multiple times. |
limitInt | Number of results requested. Default: 20 |
offsetInt | Number of elements skipped. Default: 0 |
withTotalBoolean | Controls the calculation of the total number of query results. Set to Default: true |
var.<varName>String | Predicate parameter values. The parameter can be passed multiple times. |
application/jsoncurl --get https://api.{region}.commercetools.com/{projectKey}/me/quotes -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"limit": 20,"offset": 0,"count": 1,"total": 1,"results": [{"id": "2a3baa00-44fa-4ab8-bec7-933c31e18dcc","version": 5,"createdAt": "2015-09-22T15:36:17.510Z","lastModifiedAt": "2015-09-22T15:41:55.816Z","quoteState": "Accepted","quoteRequest": {"typeId": "quote-request","id": "8a3faa00-33fa-4ab8-bee7-833f31e18dcc"},"stagedQuote": {"typeId": "staged-quote","id": "8a3baa00-44fa-4ab8-bec7-933c31e18dcc"},"customer": {"typeId": "customer","id": "92f5a867-bf19-47ab-982c-6720a03a3921"},"businessUnit": {"key": "bu-345-france","typeId": "business-unit"},"lineItems": [{"id": "b925a817-d5ad-48bb-a407-29ad8e0649b5","productId": "9f10dcfb-5cc9-4a18-843a-c07f7e22d01f","name": {"en": "SAPPHIRE"},"productType": {"typeId": "product-type","id": "2543e1d8-4915-4f72-a3c9-1df9b1b0082d","version": 8},"productSlug": {"en": "sapphire1421832124423"},"variant": {"id": 1,"sku": "sku_SAPPHIRE_variant1_1421832124423","prices": [{"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"}],"images": [{"url": "https://www.commercetools.com/cli/data/252542005_1.jpg","dimensions": {"w": 1400,"h": 1400}}],"attributes": [],"assets": []},"price": {"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"},"quantity": 2,"discountedPricePerQuantity": [],"state": [{"quantity": 2,"state": {"typeId": "state","id": "7c2e2694-aefe-43d7-888e-6a99514caaca"}}],"priceMode": "Platform","lineItemMode": "Standard","totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"perMethodTaxRate": [],"taxedPricePortions": []}],"totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"customLineItems": [],"directDiscounts": [],"inventoryMode": "None","taxMode": "Platform","taxRoundingMode": "HalfEven","taxCalculationMode": "LineItemLevel"}]}
Check if My Quote exists
Check if My Quote exists by ID
Checks if a Quote exists for a given id. Returns a 200 OK status if the Quote exists or a ResourceNotFound error otherwise.
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
idString |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/me/quotes/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if My Quote exists by Key
Checks if a Quote exists for a given key. Returns a 200 OK status if the Quote exists or a ResourceNotFound error otherwise.
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
keyString |
|
curl --head https://api.{region}.commercetools.com/{projectKey}/me/quotes/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if My Quotes exists by Query Predicate
Checks if a Quote exists for a given Query Predicate. Returns a 200 OK status if any Quotes match the Query Predicate or a ResourceNotFound error otherwise.
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
where | The parameter can be passed multiple times. |
curl --head https://api.{region}.commercetools.com/{projectKey}/me/quotes -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
Update My Quote
Update My Quote by ID
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
idString |
|
expand | The parameter can be passed multiple times. |
application/jsonversionInt | Expected version of the Quote to which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actionsArray of MyQuoteUpdateAction | Update actions to be performed on the Quote. |
application/jsoncurl https://api.{region}.commercetools.com/{projectKey}/me/quotes/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeMyQuoteState","quoteState" : "Accepted"} ]}DATA
{"id": "2a3baa00-44fa-4ab8-bec7-933c31e18dcc","version": 5,"createdAt": "2015-09-22T15:36:17.510Z","lastModifiedAt": "2015-09-22T15:41:55.816Z","quoteState": "Accepted","quoteRequest": {"typeId": "quote-request","id": "8a3faa00-33fa-4ab8-bee7-833f31e18dcc"},"stagedQuote": {"typeId": "staged-quote","id": "8a3baa00-44fa-4ab8-bec7-933c31e18dcc"},"customer": {"typeId": "customer","id": "92f5a867-bf19-47ab-982c-6720a03a3921"},"businessUnit": {"key": "bu-345-france","typeId": "business-unit"},"lineItems": [{"id": "b925a817-d5ad-48bb-a407-29ad8e0649b5","productId": "9f10dcfb-5cc9-4a18-843a-c07f7e22d01f","name": {"en": "SAPPHIRE"},"productType": {"typeId": "product-type","id": "2543e1d8-4915-4f72-a3c9-1df9b1b0082d","version": 8},"productSlug": {"en": "sapphire1421832124423"},"variant": {"id": 1,"sku": "sku_SAPPHIRE_variant1_1421832124423","prices": [{"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"}],"images": [{"url": "https://www.commercetools.com/cli/data/252542005_1.jpg","dimensions": {"w": 1400,"h": 1400}}],"attributes": [],"assets": []},"price": {"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"},"quantity": 2,"discountedPricePerQuantity": [],"state": [{"quantity": 2,"state": {"typeId": "state","id": "7c2e2694-aefe-43d7-888e-6a99514caaca"}}],"priceMode": "Platform","lineItemMode": "Standard","totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"perMethodTaxRate": [],"taxedPricePortions": []}],"totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"customLineItems": [],"directDiscounts": [],"inventoryMode": "None","taxMode": "Platform","taxRoundingMode": "HalfEven","taxCalculationMode": "LineItemLevel"}
Update My Quote by Key
manage_my_quotes:{projectKey}customer_id:{id}regionString | Region in which the Project is hosted. |
projectKeyString |
|
keyString |
|
expand | The parameter can be passed multiple times. |
application/jsonversionInt | Expected version of the Quote to which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actionsArray of MyQuoteUpdateAction | Update actions to be performed on the Quote. |
application/jsoncurl https://api.{region}.commercetools.com/{projectKey}/me/quotes/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "changeMyQuoteState","quoteState" : "Accepted"} ]}DATA
{"id": "2a3baa00-44fa-4ab8-bec7-933c31e18dcc","version": 5,"createdAt": "2015-09-22T15:36:17.510Z","lastModifiedAt": "2015-09-22T15:41:55.816Z","quoteState": "Accepted","quoteRequest": {"typeId": "quote-request","id": "8a3faa00-33fa-4ab8-bee7-833f31e18dcc"},"stagedQuote": {"typeId": "staged-quote","id": "8a3baa00-44fa-4ab8-bec7-933c31e18dcc"},"customer": {"typeId": "customer","id": "92f5a867-bf19-47ab-982c-6720a03a3921"},"businessUnit": {"key": "bu-345-france","typeId": "business-unit"},"lineItems": [{"id": "b925a817-d5ad-48bb-a407-29ad8e0649b5","productId": "9f10dcfb-5cc9-4a18-843a-c07f7e22d01f","name": {"en": "SAPPHIRE"},"productType": {"typeId": "product-type","id": "2543e1d8-4915-4f72-a3c9-1df9b1b0082d","version": 8},"productSlug": {"en": "sapphire1421832124423"},"variant": {"id": 1,"sku": "sku_SAPPHIRE_variant1_1421832124423","prices": [{"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"}],"images": [{"url": "https://www.commercetools.com/cli/data/252542005_1.jpg","dimensions": {"w": 1400,"h": 1400}}],"attributes": [],"assets": []},"price": {"value": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 2800},"id": "8da659ef-9e54-447d-9c36-84912db1848f"},"quantity": 2,"discountedPricePerQuantity": [],"state": [{"quantity": 2,"state": {"typeId": "state","id": "7c2e2694-aefe-43d7-888e-6a99514caaca"}}],"priceMode": "Platform","lineItemMode": "Standard","totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"perMethodTaxRate": [],"taxedPricePortions": []}],"totalPrice": {"type": "centPrecision","fractionDigits": 2,"currencyCode": "EUR","centAmount": 5600},"customLineItems": [],"directDiscounts": [],"inventoryMode": "None","taxMode": "Platform","taxRoundingMode": "HalfEven","taxCalculationMode": "LineItemLevel"}
Update actions
Change My Quote State
When accepting, declining, or renegotiating B2B Quotes, the Customer must have the AcceptMyQuotes, DeclineMyQuotes, or RenegotiateMyQuotes Permission, respectively. If the required Permission is missing, an AssociateMissingPermission error is returned.
actionString | "changeMyQuoteState" |
quoteState | New state to be set for the Quote. |
{"action": "changeMyQuoteState","quoteState": "Accepted"}
Request Quote Renegotiation
Represents the Buyer requesting renegotiation for a Quote. Valid for Quotes in a Pending state.
actionString | "requestQuoteRenegotiation" |
buyerCommentString | Message from the Buyer regarding the Quote renegotiation request. |
{"action": "requestQuoteRenegotiation","buyerComment": "Please also give me a 10% discount on the red T-shirts."}
Set Custom Type
actionString | "setCustomType" |
type | Defines the Type that extends the Quote with Custom Fields. If absent, any existing Type and Custom Fields are removed from the Quote. |
fields | Sets the Custom Fields fields for the Quote. |
{"action": "setCustomType","type": {"id": "{{type-id}}","typeId": "type"},"fields": {"exampleStringField": "TextString"}}
Set Custom Field
actionString | "setCustomField" |
nameString | Name of the Custom Field. |
value | If |
{"action": "setCustomField","name": "exampleStringField","value": "TextString"}