Skip to content

Update an existing conditional by Id

Request

This endpoint updates a given conditional.

Security
clientCredentials
Path
idstringrequired

The generated identifier of an entity instance

Headers
PreferArray of strings

The RFC7240 Prefer header indicates that a particular server behavior is preferred by the client but is not required for successful completion of the request (see RFC 7240).

The following behavior is supported by this API:

  • return=<minimal|representation> is used to suggest the server to return using status code 204 without a resource in the response body (minimal) or using status codes 200 or 201 with the resource in the response body on success (representation).
If-Matchstring

weak Etag as optimistic locking check

Bodyapplication/jsonrequired
namestring

A short name for the Conditional

Example:"a name"
descriptionstring

A description for the conditional, helpful in determining the why or what.

Example:"a description"
conditionsobjectrequired

The rules that will determine whether this conditional is applicable to an order or not.

At least one conditional needs to be provided. The different top-level conditions are combined with AND logic, ie: they all need to match for an order to match this conditional.

effectsobjectrequired

At least one property has to be filled.

curl -i -X PUT \
  'https://developer.conundra.eu/_mock/apis/order-book/order-book-api/conditionals/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'If-Match: string' \
  -H 'Prefer: string' \
  -d '{
    "name": "a name",
    "description": "a description",
    "conditions": {
      "locations": [
        "locationA"
      ],
      "temporals": [
        {
          "start_at": "2021-01-01T10:15:30Z",
          "end_at": "2021-01-01T10:15:30Z"
        }
      ],
      "categories": [
        {
          "entity_type": "LOCATION",
          "categories": [
            "my-category"
          ]
        }
      ],
      "clients": [
        "company-id"
      ]
    },
    "effects": {
      "stop_time": "PT5M",
      "time_windows": [
        {
          "open_time": "14:45",
          "open_day": "MONDAY",
          "close_time": "14:45",
          "close_day": "MONDAY",
          "cost": 0
        }
      ],
      "requirements": {
        "tags": [],
        "forbidden_tags": []
      }
    }
  }'

Responses

OK

Headers
ETagstring

weak Etag (ex W/<etag_value>) which contains the (updated) version of the entity

Preference-Appliedstring

to indicate whether a preference has been applied. (ex Preference-Applied: return=representation)

Bodyapplication/json
idstringread-only

A generated identifier for a conditional. The identifier is returned in both the Location header and (optional) response body when creating the Conditional.

Example:"624ec196-4c5c-4fb4-bb43-9ffd8a6b8844"
namestring

A short name for the Conditional

Example:"a name"
descriptionstring

A description for the conditional, helpful in determining the why or what.

Example:"a description"
conditionsobjectrequired

The rules that will determine whether this conditional is applicable to an order or not.

At least one conditional needs to be provided. The different top-level conditions are combined with AND logic, ie: they all need to match for an order to match this conditional.

effectsobjectrequired

At least one property has to be filled.

Response
{ "id": "624ec196-4c5c-4fb4-bb43-9ffd8a6b8844", "name": "a name", "description": "a description", "conditions": { "locations": [], "temporals": [], "categories": [], "clients": [] }, "effects": { "stop_time": "PT5M", "time_windows": [], "requirements": {} } }