Product Line Items

OpptyProductRelations.batch_create_or_update

Creates or updates OpptyProductRelation records in one request: an item with an id updates that record, an item without one creates a new record.

post/entities/OpptyProductRelations/batch-modify

Request

Query parameters

validation-levelinteger

Bit mask that relaxes validation on this write. 0 (the default) validates everything. Bits: 2 skip unchanged fields, 4 skip admin-defined validations, 8 allow read-only fields, 16 skip relation checks, 32 skip value checks, 64 skip invalid recalculations, 128 skip step-checklist gates, 256 add conditional field requirements, 512 skip uniqueness checks. Add bits together (20 = 4 + 16); member names and comma lists such as 4,16 work too. A value with an internal-only bit is refused with HTTP 400, code 117.

rollback-method0 | 1

0, the default: one failed item fails the whole batch (HTTP 422, or 404 for an unknown id) and nothing is written. 1: the valid items are written and the call answers 200 with success false and one result per item, an id or an error, in input order. Check every item.

Request body

amountnumber double

Total amount of the line item (price * quantity, with discounts applied).

commentstring

Free-form note describing this line item.

currency_exchange_rates_list_idstring uuid

Id of the currency exchange rate list used to convert this line item, inherited from the parent opportunity or quote.

online_form_field_idstring uuid

Id of the online form field in which the respondent selected this product, or empty when the line item did not come from a form submission.

online_form_idstring uuid

Id of the online form submission this line item came from, or empty when it was not created through a form.

oppty_idstring uuid

Id of the opportunity.

oppty_product_relation_type_idstring uuid

Id of the line-item type.

paired_oppty_product_relation_idstring uuid

Id of the paired line item.

pricenumber double

Per-unit price of the line item. Defaults to the product price from the price list when not supplied explicitly.

quantitynumber double

Number of product units on this line item.

quote_idstring uuid

Id of the quote this line item belongs to. Mutually exclusive with oppty_id.

section_idstring uuid

Identifier of the product section this line belongs to (see the product_sections JSON layout on the parent opportunity or quote).

sort_orderinteger

Display order of the line item within its section. Maintained automatically when lines are added or moved.

revisioninteger

Revision when entity was lastly changed.

idstring uuid

ID of object to update.

Example request

[
  {
    "comment": "string",
    "currency_exchange_rates_list_id": "01234567-abcd-dcba-ffff-000000000000",
    "online_form_field_id": "01234567-abcd-dcba-ffff-000000000000",
    "online_form_id": "01234567-abcd-dcba-ffff-000000000000",
    "oppty_id": "01234567-abcd-dcba-ffff-000000000000",
    "oppty_product_relation_type_id": "01234567-abcd-dcba-ffff-000000000000",
    "paired_oppty_product_relation_id": "01234567-abcd-dcba-ffff-000000000000",
    "quote_id": "01234567-abcd-dcba-ffff-000000000000",
    "section_id": "01234567-abcd-dcba-ffff-000000000000",
    "sort_order": 1,
    "revision": 1
  }
]

Response

Result per item, in request order: the id of the created or updated record, or the error.

successboolean

True when the request succeeded; false on error.

Example response

{
  "success": true,
  "data": [
    {
      "http_status": 400,
      "code": 117,
      "name": "ERROR_PARAMETER_INVALID"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.