Partner Portal
Update partner portal quote
Save header edits and line adds, updates and deletes to a quote on an opportunity registered under the authenticated partner organization, in one transaction. expectedLastModifiedDate must be the lastModifiedDate from getQuote. Prices are pending until getQuote returns lastCalculatedOn at or after lastSavedOn; poll getQuote with backoff and a bounded number of attempts.
POST/ api/ partnerportal/ updateQuoteAuthorizations
Your Rhombus API key. Must be accompanied by the x-auth-scheme header set to api-token (or partner-api-token for partner endpoints).
Instead of an API key, an OAuth access token: Bearer <token>, with the write scope.
OAuth explains tokens and scopes.
Headers
Authentication scheme identifier. Use api-token or partner-api-token with the x-auth-apikey header, api or partner-api with x-auth-apikey plus a client certificate, api-oauth-token or partner-api-oauth-token with x-auth-access-token, and federated-token with x-auth-ft. A request with Authorization: Bearer <token> and no x-auth-scheme is treated as OAuth, and federated-token may also be sent as the x-auth-scheme and x-auth-ft query parameters.
Available options: api-token, api, api-oauth-token, federated-token, partner-api-token, partner-api, partner-api-oauth-token
Body
application/json · object
Request object for saving header edits and line adds, updates and deletes to a quote belonging to the authenticated partner organization, applied in one transaction. At least one change is required, and at most 200 line operations are allowed per save. Prices are recalculated asynchronously afterwards.
Lines to add
Identifiers of existing lines to delete
The quote's lastModifiedDate from the most recent getQuote; the save is rejected if the quote has changed since
Quote header edits. Omitted fields, and blank address fields, are left unchanged.
Identifier of the Salesforce quote
Existing lines to update
Response
200 OK
application/json · object
Response object containing the result of saving changes to a quote.
Identifiers of the lines that were added, in request order
Identifiers of the lines that were deleted
Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.
Identifier of the updated Salesforce quote
Whether a price recalculation was queued for the save
Date and time the save was recorded; prices are current once getQuote returns a lastCalculatedOn at or after this value
Identifiers of the lines that were updated
Errors
Like every operation, this one can also answer with the standard error body (errorCode, errorMsg). Errors explains each status and how to retry.
400Bad Request. errorCode is one of: BAD_REQUEST, VALIDATION_FAILED, MISSING_REQUIRED_FIELD, INVALID_JSON, INVALID_REQUEST_BODY, FEATURE_NOT_ENABLED, INVALID_AUTH_ORG, LOCATION_NOT_FOUND, SELF_PROVISIONING_DISABLED, SKU_NOT_ALLOWED, QUANTITY_INVALID, AUTO_RENEW_REQUIRED, PROVISION_CAP_EXCEEDED, ACKNOWLEDGEMENT_REQUIRED, SIGNATURE_REQUIRED, APEX_VALIDATION, SKU_NOT_IN_PRICEBOOK.401Unauthorized. errorCode is one of: UNAUTHENTICATED, INVALID_CREDENTIAL, CREDENTIAL_EXPIRED, CREDENTIAL_REVOKED, CERTIFICATE_MISMATCH.403Forbidden. errorCode is one of: FORBIDDEN, DOMAIN_NOT_ALLOWED, DEVICE_SCOPE_MISMATCH, ROLE_NOT_PERMITTED, FUNCTIONALITY_REQUIRED, PARTNER_FUNCTIONALITY_REQUIRED, PERMISSION_REQUIRED, PARTNER_CLIENT_ACCESS_DENIED, HARDWARE_NOT_AVAILABLE, HARDWARE_ALREADY_REGISTERED, PARTNER_PORTAL_NOT_ENABLED, MANAGED_BY_MSP, SUPER_ADMIN_RESTRICTED_BY_MSP, MSP_DESIGNATION_INVALID, NOT_MANAGED_CLIENT, NOT_VERIFIED_MSP, ORDER_NOT_YOURS.429Too Many Requests. errorCode is one of: RATE_LIMITED, QUOTE_RATE_LIMITED.500Internal Server Error. errorCode is one of: INTERNAL_ERROR.503Service Unavailable. errorCode is one of: SERVICE_UNAVAILABLE, SALESFORCE_UNAVAILABLE.