Флаг all_or_nothing

В сете находятся 3 свободных билета.

Отправляем запрос на создание заказа с 2-мя билетами:

Request:

POST /v1/resources/orders HTTP/1.1
Host: api.ticketscloud.org
Accept: application/json
Authorization:  key 047bdb8bcee44d3693371920aaf9135c
Content-Type: application/json

{
    "all_or_nothing": "true",
    "event": "56a6253df06c5a059a93802e",
    "random": {
        "56a6254bf06c5a059b93800c": 2
    }
}

Response:

HTTP/1.1 201 Created
Content-Type: application/json; charset=UTF-8
X-Partner: 56810047f06c5a6ac62f4e1d

{
    "id": "56a774a8f06c5a28629386b8",
    "created_at": "2016-01-26T13:29:12.624000+00:00",
    "customer": {
        "lang": "ru"
    },
    "deal": null,
    "event": "56a6253df06c5a059a93802e",
    "number": 497291912,
    "org": "56810047f06c5a6ac62f4e1d",
    "payment": {
        "failure_url": null,
        "success_url": null,
        "system": null
    },
    "promocodes": [],
    "reserved_till": "2016-01-26T13:39:12.642000+00:00",
    "rules": {
        "56a6254bf06c5a059b93800c": "56a6254bf06c5a059b93800b"
    },
    "status": "executed",
    "tickets": [
        "56a6253df06c5a059a9380ae",
        "56a6253df06c5a059a9380b0"
    ],
    "updated_at": "2016-01-26T13:29:12.642000+00:00",
    "value": "200.00",
    "value_extra": "0.00",
    "values": {
        "extra": "0.00",
        "full": "200.00",
        "nominal": "200.00"
    },
    "vendor": "56810047f06c5a6ac62f4e1d"
}

Нам удалось забронировать два билета.

Отправляем еще один запрос на создание заказа c двумя билетами:

Request:

POST /v1/resources/orders HTTP/1.1
Host: api.ticketscloud.org
Accept: application/json
Authorization:  key 047bdb8bcee44d3693371920aaf9135c
Content-Type: application/json

{
    "all_or_nothing": "true",
    "event": "56a6253df06c5a059a93802e",
    "random": {
        "56a6254bf06c5a059b93800c": 1
    }
}

Response:

HTTP/1.1 201 Created
Content-Type: application/json; charset=UTF-8
X-Partner: 56810047f06c5a6ac62f4e1d

{
    "id": "56a7752af06c5a28629386ba",
    "created_at": "2016-01-26T13:31:22.838000+00:00",
    "customer": {
        "lang": "ru"
    },
    "deal": null,
    "event": "56a6253df06c5a059a93802e",
    "number": 497291913,
    "org": "56810047f06c5a6ac62f4e1d",
    "payment": {
        "failure_url": null,
        "success_url": null,
        "system": null
    },
    "promocodes": [],
    "reserved_till": "2016-01-26T13:41:22.844000+00:00",
    "rules": {
        "56a6254bf06c5a059b93800c": "56a6254bf06c5a059b93800b"
    },
    "status": "executed",
    "tickets": [],
    "updated_at": "2016-01-26T13:31:22.844000+00:00",
    "value": "0.00",
    "value_extra": "0.00",
    "values": {
        "extra": "0.00",
        "full": "0.00",
        "nominal": "0.00"
    },
    "vendor": "56810047f06c5a6ac62f4e1d"
}

Второй запрос не вернул ни одного id билета в поле tickets так как остался всего один свободный билет в сете и в запросе присутствовал активный флаг all_or_nothing.