Cabinet

Sign in

Sign refresh JWT token
request
POST /api/v1/sign/refresh HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

{
  "accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0NVU1RPTUVSXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTE1LFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcInZhbGlkQGVtYWlsLnRlc3RcIixcImFjY291bnRJZFwiOjEwNn19IiwiaWF0IjoxNzYyNjA1MTE2LCJleHAiOjE3NjMwMzcxMTZ9.v93HEnsdTcg1FTKjfm8r5cw5jlGxyaIyOg9QrSPf_pI",
  "accessTokenExpireAt" : "2025-11-13T12:31:56.709Z",
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0NVU1RPTUVSXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTE1LFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcInZhbGlkQGVtYWlsLnRlc3RcIixcImFjY291bnRJZFwiOjEwNn19IiwiaWF0IjoxNzYyNjA1MTE2LCJleHAiOjE3NjMwMzcxMTZ9.Yvlm-5OqGzBJ0kGs08sjCN4vLEyxd13Tb1OHGhM0LiQ",
  "refreshTokenExpireAt" : "2025-11-13T12:31:56.709Z"
}
Sign in with phone. Send SMS code on phone

whiteLabel - optional parameter, add company prefix to SMS text

SMS prefix GisMenu by default

Table 1. Captcha Token
Код Обязателен Описание

captchaToken

Да

ReCaptcha token from Google

mode

Нет. Default WEB

WEB, ANDROID, IOS

whiteLabel

Нет

Зависит текст СМС для отправки кода

request
POST /api/v1/sign/in/phone/code HTTP/1.1

{
  "phone" : "+79992000494",
  "captchaToken" : "captchaToken",
  "apiKey" : "bB1+jYH3iaBonUIVpRec8VHxsxSi2IKnapyGjf8G24hKIwOX+0XM79Eq6IzWFBLvbDEs6DBt+KDVD0Vc3rt8mK9A10HUnRM0ScEX0DZCsCDcjREp2KIaTUhyTHaXhUVgzE6PqQOePiIVIrPNgI3gFt59fl/anVKoPqVBMCuh9jaBiP0ejIyDAGPU+j4AoxVatXDB0RtbaGRnLf+iQC3+gg==",
  "mode" : "WEB"
}
response
HTTP/1.1 200 OK
Sign in with phone
request
POST /api/v1/sign/in/phone HTTP/1.1

{
  "phone" : "+79992000494",
  "code" : "4474",
  "captchaToken" : "CaptchaToken"
}
response
HTTP/1.1 200 OK

{
  "accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0NVU1RPTUVSXCJ9LHtcImF1dGhvcml0eVwiOlwiUk9MRV9SRVNUT19HVUVTVFwifV0sXCJwcmluY2lwYWxcIjp7XCJpZFwiOjEwNyxcImJ5UGhvbmVcIjp0cnVlLFwiZW1haWxcIjpcImlidl9tYWlsMUBtYWlsLnJ1XCIsXCJhY2NvdW50SWRcIjoxMDR9fSIsImlhdCI6MTc2MjYwNTExNiwiZXhwIjoxNzYyNjA2OTE2fQ.nZoUXKrmH5KfYPMSc3z8xVSBgnIByoNo8IhxIhFSAm8",
  "accessTokenExpireAt" : "2025-11-08T13:01:56.964Z",
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0NVU1RPTUVSXCJ9LHtcImF1dGhvcml0eVwiOlwiUk9MRV9SRVNUT19HVUVTVFwifV0sXCJwcmluY2lwYWxcIjp7XCJpZFwiOjEwNyxcImJ5UGhvbmVcIjp0cnVlLFwiZW1haWxcIjpcImlidl9tYWlsMUBtYWlsLnJ1XCIsXCJhY2NvdW50SWRcIjoxMDR9fSIsImlhdCI6MTc2MjYwNTExNiwiZXhwIjoxNzYzNDY5MTE2fQ.CWEld5TW6x5CrBsb39umQ9yHjfDbSkZfgKBhwIpHH0Y",
  "refreshTokenExpireAt" : "2025-11-18T12:31:56.965Z"
}
Sign in with Google
request
POST /api/v1/sign/in/google HTTP/1.1
external-id-token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjJlMzAyNWYyNmI1OTVmOTZlYWM5MDdjYzJiOTQ3MTQyMmJjYWViOTMiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMTY0NDAxMzM2ODQ0MDIzNjA5OTkiLCJlbWFpbCI6ImJlcnR5d29vc3Rlcjc3QGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiZHVwX0FoVU5fakc2S1dTcUdCbW0wQSIsIm5hbWUiOiJCb3JpcyBJdmFub3YiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tLy0wQXpEUW5qeFlPay9BQUFBQUFBQUFBSS9BQUFBQUFBQUFBQS9BTVp1dWNtWk1UT21aaVc3U0pwaG9sQUxKR0VQTlBaUm5BL3M5Ni1jL3Bob3RvLmpwZyIsImdpdmVuX25hbWUiOiJCb3JpcyIsImZhbWlseV9uYW1lIjoiSXZhbm92IiwibG9jYWxlIjoicnUiLCJpYXQiOjE2MDY5MzA2NzgsImV4cCI6MTYwNjkzNDI3OH0.jC7Mg2KXglzlpg1HcuoiY0R7EwVxs39Gvi7cPs6S2GaeDsnCVFsn3O_QuEW-XWH4VCqwJUih7OKoEaM_BepDJvL6U1vDdpLnPsLsPcuZMK32RAfRzr_DqYfmIAIGR6IWPwP4u6lid6ztrR1nji5UoSUUNsG5PP8EddmG2l8_n4Pyrf3xHTjvWaA8M0Wkm6AUMbb0avQJj1qEhDcQr0V8zdfgl-24XD8zqK0rWJHaw8_WbDEseDUzkG7W_IcONheuCUiVJUyEmTYq5LFkWUgQgACUDdRkJY-7umnw-LTSX4HPmoJAruSYNlkcmOpg1zcaf3UByTFmrm1SaLdIrWRM_g
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

{
  "accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNzYyNjA1MTE3LCJleHAiOjE3NjMwMzcxMTd9.bjx8wm4CDpdoe79XdKFYRx7EguhQNMJ76yJoZE_TX-M",
  "accessTokenExpireAt" : "2025-11-13T12:31:57.168Z",
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNzYyNjA1MTE3LCJleHAiOjE3NjMwMzcxMTd9.K6aJ734gBiAD1eTqCRn4TZd5OZiFEfsih4IJF2egTsc",
  "refreshTokenExpireAt" : "2025-11-13T12:31:57.169Z"
}
Sign in with Apple
request
POST /api/v1/sign/in/apple HTTP/1.1
Content-Type: application/json;charset=UTF-8
external-id-token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjJlMzAyNWYyNmI1OTVmOTZlYWM5MDdjYzJiOTQ3MTQyMmJjYWViOTMiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMTY0NDAxMzM2ODQ0MDIzNjA5OTkiLCJlbWFpbCI6ImJlcnR5d29vc3Rlcjc3QGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdF9oYXNoIjoiZHVwX0FoVU5fakc2S1dTcUdCbW0wQSIsIm5hbWUiOiJCb3JpcyBJdmFub3YiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tLy0wQXpEUW5qeFlPay9BQUFBQUFBQUFBSS9BQUFBQUFBQUFBQS9BTVp1dWNtWk1UT21aaVc3U0pwaG9sQUxKR0VQTlBaUm5BL3M5Ni1jL3Bob3RvLmpwZyIsImdpdmVuX25hbWUiOiJCb3JpcyIsImZhbWlseV9uYW1lIjoiSXZhbm92IiwibG9jYWxlIjoicnUiLCJpYXQiOjE2MDY5MzA2NzgsImV4cCI6MTYwNjkzNDI3OH0.jC7Mg2KXglzlpg1HcuoiY0R7EwVxs39Gvi7cPs6S2GaeDsnCVFsn3O_QuEW-XWH4VCqwJUih7OKoEaM_BepDJvL6U1vDdpLnPsLsPcuZMK32RAfRzr_DqYfmIAIGR6IWPwP4u6lid6ztrR1nji5UoSUUNsG5PP8EddmG2l8_n4Pyrf3xHTjvWaA8M0Wkm6AUMbb0avQJj1qEhDcQr0V8zdfgl-24XD8zqK0rWJHaw8_WbDEseDUzkG7W_IcONheuCUiVJUyEmTYq5LFkWUgQgACUDdRkJY-7umnw-LTSX4HPmoJAruSYNlkcmOpg1zcaf3UByTFmrm1SaLdIrWRM_g
HTTP/1.1 200 OK

{
  "accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNzYyNjA1MTE3LCJleHAiOjE3NjMwMzcxMTd9.bjx8wm4CDpdoe79XdKFYRx7EguhQNMJ76yJoZE_TX-M",
  "accessTokenExpireAt" : "2025-11-13T12:31:57.168Z",
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNzYyNjA1MTE3LCJleHAiOjE3NjMwMzcxMTd9.K6aJ734gBiAD1eTqCRn4TZd5OZiFEfsih4IJF2egTsc",
  "refreshTokenExpireAt" : "2025-11-13T12:31:57.169Z"
}
Sign in with VK
Table 2. application
Код Описание

web

ios

android

request
[source,http,options="nowrap"]
POST /sign/in/vk

{
    "application": "web",
    "silentToken": "7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a",
    "silentTokenUuid": "kVr3pN4dkILRLTaVtdpKR"
}
response
[source,http,options="nowrap"]
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
  "accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNjgxMjM3NzYyLCJleHAiOjE2ODE2Njk3NjJ9.2Ia2AzIHFfaXTc3gSNUsgle5EhZdpGE96oL4HTTrKqQ",
  "accessTokenExpireAt" : "2023-04-16T18:29:22.308Z",
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0dVRVNUXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MTAxLFwiYnlQaG9uZVwiOmZhbHNlLFwiZW1haWxcIjpcImdtYWlsQGdtYWlsLmNvbVwiLFwiYWNjb3VudElkXCI6bnVsbH19IiwiaWF0IjoxNjgxMjM3NzYyLCJleHAiOjE2ODE2Njk3NjJ9.fJ6urHSztUjFAu6KebhT02y6sD5ErdjBffLOzXc4fVw",
  "refreshTokenExpireAt" : "2023-04-16T18:29:22.310Z"
}
Person Me
request
GET /api/v1/me HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 101,
  "email" : "gmail@gmail.com",
  "phone" : "+79993000505",
  "firstName" : "firstName",
  "lastName" : "lastName",
  "patronymic" : null,
  "deliveries" : [ ],
  "accountIds" : [ null, 111 ]
}

Delivery Zones

Create
request
POST /api/v1/accounts/1/delivery-zones HTTP/1.1

{
  "name" : "name-dz",
  "rules" : [ {
    "minOrderPrice" : 0,
    "maxOrderPrice" : 100000,
    "deliveryPrice" : 10000,
    "time" : 120
  }, {
    "minOrderPrice" : 100000,
    "maxOrderPrice" : 0,
    "deliveryPrice" : 200000,
    "time" : 120
  } ],
  "restoId" : 8,
  "polygon" : [ {
    "lat" : 60.00803141335128,
    "lng" : 30.219885565489868
  }, {
    "lat" : 60.006787147135206,
    "lng" : 30.224262930602173
  }, {
    "lat" : 60.003569000158876,
    "lng" : 30.219456412047485
  } ]
}
response
HTTP/1.1 200 OK

{
  "id" : 2,
  "name" : "name-dz",
  "polygon" : [ {
    "lat" : 60.003569000158876,
    "lng" : 30.219456412047485
  }, {
    "lat" : 60.006787147135206,
    "lng" : 30.224262930602173
  }, {
    "lat" : 60.00803141335128,
    "lng" : 30.219885565489868
  } ],
  "rules" : [ {
    "minOrderPrice" : 0,
    "maxOrderPrice" : 100000,
    "deliveryPrice" : 10000,
    "time" : 120
  }, {
    "minOrderPrice" : 100000,
    "maxOrderPrice" : 0,
    "deliveryPrice" : 200000,
    "time" : 120
  } ],
  "restoId" : 8
}
Update
request
PUT /api/v1/delivery-zones/2 HTTP/1.1

{
  "name" : "name-dz-1",
  "polygon" : [ {
    "lat" : 60.00803141335128,
    "lng" : 30.219885565489868
  }, {
    "lat" : 60.006787147135206,
    "lng" : 30.224262930602173
  }, {
    "lat" : 60.003569000158876,
    "lng" : 30.219456412047485
  } ],
  "restoId" : 8,
  "rules" : [ {
    "minOrderPrice" : 0,
    "maxOrderPrice" : 100000,
    "deliveryPrice" : 10000,
    "time" : 120
  } ]
}
response
HTTP/1.1 200 OK
Get by ID
request
GET /api/v1/delivery-zones/2 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 2,
  "name" : "name-dz-1",
  "polygon" : [ {
    "lat" : 60.003569000158876,
    "lng" : 30.219456412047485
  }, {
    "lat" : 60.006787147135206,
    "lng" : 30.224262930602173
  }, {
    "lat" : 60.00803141335128,
    "lng" : 30.219885565489868
  } ],
  "rules" : [ {
    "minOrderPrice" : 0,
    "maxOrderPrice" : 100000,
    "deliveryPrice" : 10000,
    "time" : 120
  } ],
  "restoId" : 8
}
Get by account ID
request
GET /api/v1/accounts/1/delivery-zones HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 1,
    "name" : "name-dz",
    "createdAt" : 1762605096,
    "updatedAt" : 1762605096,
    "polygon" : [ {
      "lat" : 59.99538416848024,
      "lng" : 30.191746298907738
    }, {
      "lat" : 59.99328095634926,
      "lng" : 30.22436196052883
    }, {
      "lat" : 60.00808644381226,
      "lng" : 30.232086722491722
    }, {
      "lat" : 60.01126125052477,
      "lng" : 30.204363410113793
    } ],
    "rules" : [ {
      "minOrderPrice" : 0,
      "maxOrderPrice" : 10000,
      "deliveryPrice" : 10000,
      "time" : 120
    }, {
      "minOrderPrice" : 10000,
      "maxOrderPrice" : 50000,
      "deliveryPrice" : 20000,
      "time" : 120
    } ],
    "restoId" : 7
  }, {
    "id" : 2,
    "name" : "name-dz-1",
    "createdAt" : 1762605097,
    "updatedAt" : 1762605097,
    "polygon" : [ {
      "lat" : 60.003569000158876,
      "lng" : 30.219456412047485
    }, {
      "lat" : 60.006787147135206,
      "lng" : 30.224262930602173
    }, {
      "lat" : 60.00803141335128,
      "lng" : 30.219885565489868
    } ],
    "rules" : [ {
      "minOrderPrice" : 0,
      "maxOrderPrice" : 100000,
      "deliveryPrice" : 10000,
      "time" : 120
    } ],
    "restoId" : 8
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 2,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 2,
  "empty" : false
}
Delete
request
DELETE /api/v1/delivery-zones/2 HTTP/1.1
response
HTTP/1.1 200 OK

Leads

Phone lead
request
POST /api/v1/lead HTTP/1.1

{
  "captchaToken" : "CaptchaToken",
  "apiKey" : null,
  "mode" : "WEB",
  "phone" : "74859567589",
  "tags" : [ "lead-1" ]
}
response
HTTP/1.1 200 OK
Email lead
request
POST /api/v1/lead/email HTTP/1.1

{
  "captchaToken" : "CaptchaToken",
  "apiKey" : null,
  "mode" : "WEB",
  "email" : "awesome@email.com",
  "name" : "awesome partner",
  "tags" : [ "lead-1" ]
}
response
HTTP/1.1 200 OK

Resto

Resto create
request
POST /api/v1/resto HTTP/1.1

{
  "id" : null,
  "accountId" : null,
  "name" : "resto-name-1",
  "description" : "setDescription",
  "averageCheck" : 200.1,
  "currency" : "RUB",
  "state" : null,
  "address" : {
    "cityId" : null,
    "lat" : 60.0032089,
    "lng" : 30.2094682,
    "postalCode" : "197082",
    "countryCode" : "RU",
    "country" : "Россия",
    "locality" : "Санкт-Петербург",
    "street" : "Туристская улица",
    "streetNumber" : "28 корпус 1"
  },
  "deliveryChatId" : null,
  "cloudPayments" : null,
  "updatedAt" : 1762605108,
  "tags" : [ {
    "id" : 2,
    "type" : "RESTO",
    "name" : null
  }, {
    "id" : 1,
    "type" : "RESTO",
    "name" : null
  } ],
  "pays" : [ {
    "id" : 31,
    "type" : "RESTO_PAY",
    "name" : null
  }, {
    "id" : 30,
    "type" : "RESTO_PAY",
    "name" : null
  } ],
  "photos" : [ {
    "id" : 18,
    "order" : 1
  }, {
    "id" : 19,
    "order" : 2
  } ],
  "openingHours" : {
    "2" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 2,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "5" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 5,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "6" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 6,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "3" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 3,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "4" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 4,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "7" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 7,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "1" : {
      "accountId" : null,
      "restoId" : null,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 1,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    }
  },
  "links" : [ {
    "id" : null,
    "accountId" : null,
    "type" : "LINK",
    "subType" : "SITE",
    "name" : null,
    "value" : "http://vk.com"
  } ],
  "phones" : [ {
    "id" : null,
    "accountId" : null,
    "type" : "PHONE",
    "subType" : "PHONE",
    "name" : null,
    "value" : "+78903000595"
  } ],
  "emails" : [ {
    "id" : null,
    "accountId" : null,
    "type" : "EMAIL",
    "subType" : "EMAIL",
    "name" : null,
    "value" : "mail@mail.com"
  } ],
  "payConfig" : {
    "delivery" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "takeAway" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "table" : {
      "cardOnline" : null,
      "commonReceipt" : true
    }
  },
  "unreadCount" : null,
  "payEngine" : {
    "password" : null,
    "currency" : null,
    "sector" : null,
    "paymentType" : null,
    "url" : null,
    "successUrl" : null,
    "failureUrl" : null,
    "taxSystem" : null,
    "offer" : {
      "id" : 20,
      "order" : 3
    }
  },
  "active" : false
}
response
HTTP/1.1 200 OK

{
  "id" : 70,
  "accountId" : 1,
  "name" : "resto-name-1",
  "description" : "setDescription",
  "averageCheck" : 200.1,
  "currency" : "RUB",
  "state" : "MODERATING",
  "address" : {
    "cityId" : 2,
    "lat" : 60.0032089,
    "lng" : 30.2094682,
    "postalCode" : "197082",
    "countryCode" : "RU",
    "country" : "Россия",
    "locality" : "Санкт-Петербург",
    "street" : "Туристская улица",
    "streetNumber" : "28 корпус 1"
  },
  "deliveryChatId" : null,
  "cloudPayments" : null,
  "updatedAt" : 1762605108,
  "tags" : [ {
    "id" : 1,
    "type" : "RESTO",
    "name" : "Бургеры"
  }, {
    "id" : 2,
    "type" : "RESTO",
    "name" : "Суши"
  } ],
  "pays" : [ {
    "id" : 30,
    "type" : "RESTO_PAY",
    "name" : "Наличные"
  }, {
    "id" : 31,
    "type" : "RESTO_PAY",
    "name" : "Безналичные"
  } ],
  "photos" : [ {
    "id" : 18,
    "order" : 1
  }, {
    "id" : 19,
    "order" : 2
  } ],
  "openingHours" : {
    "2" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 2,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "5" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 5,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "6" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 6,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "3" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 3,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "4" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 4,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "7" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 7,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "1" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 1,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    }
  },
  "links" : [ {
    "id" : 185,
    "accountId" : 1,
    "type" : "LINK",
    "subType" : "SITE",
    "name" : null,
    "value" : "http://vk.com"
  } ],
  "phones" : [ {
    "id" : 186,
    "accountId" : 1,
    "type" : "PHONE",
    "subType" : "PHONE",
    "name" : null,
    "value" : "+78903000595"
  } ],
  "emails" : [ {
    "id" : 184,
    "accountId" : 1,
    "type" : "EMAIL",
    "subType" : "EMAIL",
    "name" : null,
    "value" : "mail@mail.com"
  } ],
  "payConfig" : {
    "delivery" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "takeAway" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "table" : {
      "cardOnline" : null,
      "commonReceipt" : true
    }
  },
  "unreadCount" : null,
  "payEngine" : {
    "password" : null,
    "currency" : null,
    "sector" : null,
    "paymentType" : null,
    "url" : null,
    "successUrl" : null,
    "failureUrl" : null,
    "taxSystem" : null,
    "offerUrl" : "http://localhost:4545/1/files/20",
    "offer" : {
      "id" : 20,
      "order" : 20
    }
  },
  "active" : false
}
Resto update
request
PUT /api/v1/resto/70 HTTP/1.1

{
  "id" : null,
  "accountId" : null,
  "name" : "resto-name-2",
  "description" : "setDescription",
  "averageCheck" : 300.09,
  "currency" : "RUB",
  "state" : null,
  "address" : {
    "cityId" : null,
    "lat" : 60.0032089,
    "lng" : 30.2094682,
    "postalCode" : "197082",
    "countryCode" : "RU",
    "country" : "Россия",
    "locality" : "Санкт-Петербург",
    "street" : "Туристская улица",
    "streetNumber" : "28 корпус 1"
  },
  "deliveryChatId" : "-12345678901",
  "cloudPayments" : null,
  "updatedAt" : 1762605109,
  "tags" : [ {
    "id" : 3,
    "type" : "RESTO",
    "name" : null
  } ],
  "pays" : [ ],
  "photos" : [ {
    "id" : 21,
    "order" : 1
  }, {
    "id" : 22,
    "order" : 2
  } ],
  "openingHours" : {
    "2" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 2,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "5" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 5,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "6" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 6,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "3" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 3,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "4" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 4,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "7" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 7,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "1" : {
      "accountId" : null,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 1,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    }
  },
  "links" : [ {
    "id" : 185,
    "accountId" : 1,
    "type" : "LINK",
    "subType" : "SITE",
    "name" : null,
    "value" : "http://vk.com"
  } ],
  "phones" : [ {
    "id" : null,
    "accountId" : null,
    "type" : "PHONE",
    "subType" : "PHONE",
    "name" : null,
    "value" : "+89154000878"
  } ],
  "emails" : [ ],
  "payConfig" : {
    "delivery" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "takeAway" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "table" : {
      "cardOnline" : null,
      "commonReceipt" : true
    }
  },
  "unreadCount" : null,
  "payEngine" : {
    "password" : null,
    "currency" : null,
    "sector" : null,
    "paymentType" : null,
    "url" : null,
    "successUrl" : null,
    "failureUrl" : null,
    "taxSystem" : null,
    "offer" : {
      "id" : 23,
      "order" : 3
    }
  },
  "active" : false
}
response
HTTP/1.1 200 OK
Resto order up
request
PUT /1/resto/70/order/up HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Resto order down
request
PUT /1/resto/70/order/down HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Resto list
request
GET /api/v1/accounts/1/resto HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 63,
    "accountId" : 1,
    "name" : "resto-time-slot-0",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 64,
    "accountId" : 1,
    "name" : "resto-time-slot-1",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 65,
    "accountId" : 1,
    "name" : "resto-time-slot-2",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 66,
    "accountId" : 1,
    "name" : "mag-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.1,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 3,
      "lat" : null,
      "lng" : null,
      "postalCode" : "455000",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Магнитогорск",
      "street" : "Тулица Горького",
      "streetNumber" : "1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 67,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.9,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 68,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : null,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 69,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.9,
    "state" : "ACTIVE",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 70,
    "accountId" : 1,
    "name" : "resto-name-2",
    "description" : "setDescription",
    "averageCheck" : 300.09,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605109,
    "unreadCount" : 0,
    "active" : false
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 8,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 8,
  "empty" : false
}
Resto get by id
request
GET /api/v1/resto/70 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 70,
  "accountId" : 1,
  "name" : "resto-name-2",
  "description" : "setDescription",
  "averageCheck" : 300.09,
  "currency" : "RUB",
  "state" : "MODERATING",
  "address" : {
    "cityId" : 2,
    "lat" : 60.0032089,
    "lng" : 30.2094682,
    "postalCode" : "197082",
    "countryCode" : "RU",
    "country" : "Россия",
    "locality" : "Санкт-Петербург",
    "street" : "Туристская улица",
    "streetNumber" : "28 корпус 1"
  },
  "deliveryChatId" : "-12345678901",
  "cloudPayments" : null,
  "updatedAt" : 1762605109,
  "tags" : [ {
    "id" : 3,
    "type" : "RESTO",
    "name" : "Пицца"
  } ],
  "pays" : [ ],
  "photos" : [ ],
  "openingHours" : {
    "2" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 2,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "5" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 5,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "6" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 6,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "3" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 3,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "4" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 4,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "7" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 7,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "1" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 1,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    }
  },
  "links" : [ {
    "id" : 185,
    "accountId" : 1,
    "type" : "LINK",
    "subType" : "SITE",
    "name" : null,
    "value" : "http://vk.com"
  } ],
  "phones" : [ {
    "id" : 190,
    "accountId" : 1,
    "type" : "PHONE",
    "subType" : "PHONE",
    "name" : null,
    "value" : "+89154000878"
  } ],
  "emails" : [ ],
  "payConfig" : {
    "delivery" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "takeAway" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "table" : {
      "cardOnline" : null,
      "commonReceipt" : true
    }
  },
  "unreadCount" : null,
  "payEngine" : {
    "password" : null,
    "currency" : null,
    "sector" : null,
    "paymentType" : null,
    "url" : null,
    "successUrl" : null,
    "failureUrl" : null,
    "taxSystem" : null,
    "offerUrl" : null,
    "offer" : null
  },
  "active" : false
}
Get deliveries
public access
request
GET /1/restos/8/deliveries HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 2,
    "name" : "name-dz-1",
    "polygon" : [ {
      "lat" : 60.003569000158876,
      "lng" : 30.219456412047485
    }, {
      "lat" : 60.006787147135206,
      "lng" : 30.224262930602173
    }, {
      "lat" : 60.00803141335128,
      "lng" : 30.219885565489868
    } ],
    "rules" : [ {
      "minOrderPrice" : 0,
      "maxOrderPrice" : 100000,
      "deliveryPrice" : 10000,
      "time" : 120
    } ]
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 50,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 1,
  "totalPages" : 1,
  "first" : true,
  "size" : 50,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 1,
  "empty" : false
}
Получение времени работы для предзаказов ресторана
request
GET /1/restos/71/working-hours HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "type" : "TABLE_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
}, {
  "type" : "TAKE_AWAY_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
}, {
  "type" : "DELIVERY_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
} ]
Изменение времени работы для предзаказов ресторана
request
PUT /1/restos/71/working-hours HTTP/1.1

[ {
  "type" : "TABLE_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
}, {
  "type" : "DELIVERY_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
}, {
  "type" : "TAKE_AWAY_HOURS",
  "minTimeMinutes" : 30,
  "dayInAdvance" : 6,
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "open" : "09:00",
    "close" : "21:00"
  } ]
} ]
response
HTTP/1.1 200 OK
request
GET /api/v1/resto/70 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 70,
  "accountId" : 1,
  "name" : "resto-name-2",
  "description" : "setDescription",
  "averageCheck" : 300.09,
  "currency" : "RUB",
  "state" : "MODERATING",
  "address" : {
    "cityId" : 2,
    "lat" : 60.0032089,
    "lng" : 30.2094682,
    "postalCode" : "197082",
    "countryCode" : "RU",
    "country" : "Россия",
    "locality" : "Санкт-Петербург",
    "street" : "Туристская улица",
    "streetNumber" : "28 корпус 1"
  },
  "deliveryChatId" : "-12345678901",
  "cloudPayments" : null,
  "updatedAt" : 1762605109,
  "tags" : [ {
    "id" : 3,
    "type" : "RESTO",
    "name" : "Пицца"
  } ],
  "pays" : [ ],
  "photos" : [ ],
  "openingHours" : {
    "2" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 2,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "5" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 5,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "6" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 6,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "3" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 3,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "4" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 4,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "7" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 7,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    },
    "1" : {
      "accountId" : 1,
      "restoId" : 70,
      "type" : "WORKING_HOURS",
      "dayOfWeek" : 1,
      "open" : "15:31",
      "close" : "15:31",
      "active" : true
    }
  },
  "links" : [ {
    "id" : 185,
    "accountId" : 1,
    "type" : "LINK",
    "subType" : "SITE",
    "name" : null,
    "value" : "http://vk.com"
  } ],
  "phones" : [ {
    "id" : 190,
    "accountId" : 1,
    "type" : "PHONE",
    "subType" : "PHONE",
    "name" : null,
    "value" : "+89154000878"
  } ],
  "emails" : [ ],
  "payConfig" : {
    "delivery" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "takeAway" : {
      "cardOnline" : null,
      "cardUponReceipt" : true,
      "cashUponReceipt" : true
    },
    "table" : {
      "cardOnline" : null,
      "commonReceipt" : true
    }
  },
  "unreadCount" : null,
  "payEngine" : {
    "password" : null,
    "currency" : null,
    "sector" : null,
    "paymentType" : null,
    "url" : null,
    "successUrl" : null,
    "failureUrl" : null,
    "taxSystem" : null,
    "offerUrl" : null,
    "offer" : null
  },
  "active" : false
}
Получение модификаторов позиций по ресторану
request
GET /1/restos/52/positions/modifiers HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "positionId" : 117,
  "modifiers" : [ {
    "id" : 24,
    "modifierId" : 22,
    "minCount" : 0,
    "maxCount" : 5,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "items" : [ {
      "id" : 54,
      "modifierItemId" : 52,
      "order" : 2,
      "name" : "modifier-0-item-2",
      "price" : 300,
      "minCount" : 3,
      "maxCount" : 7,
      "yields" : [ {
        "order" : 0,
        "yieldType" : "LITER",
        "value" : 3
      } ]
    }, {
      "id" : 55,
      "modifierItemId" : 51,
      "order" : 1,
      "name" : "modifier-0-item-1",
      "price" : 200,
      "minCount" : 2,
      "maxCount" : 6,
      "yields" : [ {
        "order" : 0,
        "yieldType" : "LITER",
        "value" : 2
      } ]
    }, {
      "id" : 56,
      "modifierItemId" : 50,
      "order" : 0,
      "name" : "modifier-0-item-0",
      "price" : 100,
      "minCount" : 1,
      "maxCount" : 5,
      "yields" : [ {
        "order" : 0,
        "yieldType" : "LITER",
        "value" : 1
      } ]
    } ]
  }, {
    "id" : 25,
    "modifierId" : 24,
    "minCount" : 1,
    "maxCount" : 5,
    "name" : "modifier-2-name",
    "nameUi" : null,
    "items" : [ {
      "id" : 57,
      "modifierItemId" : 54,
      "order" : 0,
      "name" : "modifier-2-item-0",
      "price" : 400,
      "minCount" : 2,
      "maxCount" : 55,
      "yields" : [ {
        "order" : 0,
        "yieldType" : "LITER",
        "value" : 1
      } ]
    } ]
  } ]
} ]
Получение скидок позиций по ресторану
request
GET /1/restos/80/positions/discounts HTTP/1.1
response
HTTP/1.1 200 OK

{
  "positionIds" : [ {
    "id" : 217,
    "discountIds" : [ 16 ]
  }, {
    "id" : 208,
    "discountIds" : [ 16 ]
  }, {
    "id" : 212,
    "discountIds" : [ 16 ]
  }, {
    "id" : 211,
    "discountIds" : [ 16 ]
  }, {
    "id" : 218,
    "discountIds" : [ 16 ]
  }, {
    "id" : 209,
    "discountIds" : [ 16 ]
  }, {
    "id" : 216,
    "discountIds" : [ 16 ]
  }, {
    "id" : 219,
    "discountIds" : [ 16 ]
  }, {
    "id" : 214,
    "discountIds" : [ 16 ]
  }, {
    "id" : 215,
    "discountIds" : [ 16 ]
  }, {
    "id" : 210,
    "discountIds" : [ 16 ]
  }, {
    "id" : 207,
    "discountIds" : [ 16 ]
  }, {
    "id" : 213,
    "discountIds" : [ 16 ]
  } ],
  "discounts" : [ {
    "id" : 16,
    "name" : "discount-name",
    "type" : "DELIVERY",
    "valueType" : "ABSOLUTE",
    "value" : 15
  } ]
}
Получение скидок по ресторану
request
GET /1/restos/73/discounts HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 12,
  "name" : "discount-name-1",
  "type" : "DELIVERY",
  "valueType" : "ABSOLUTE",
  "value" : 15,
  "updatedAt" : 1762605109
} ]

Moderation

Get restos moderation page
request
GET /api/v1/moderation/resto HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 63,
    "accountId" : 1,
    "name" : "resto-time-slot-0",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 64,
    "accountId" : 1,
    "name" : "resto-time-slot-1",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 65,
    "accountId" : 1,
    "name" : "resto-time-slot-2",
    "description" : "setDescription",
    "averageCheck" : 100.0,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605107,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 69,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.9,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 1,
    "active" : false
  }, {
    "id" : 67,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.9,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 68,
    "accountId" : 1,
    "name" : "resto-name-1",
    "description" : "setDescription",
    "averageCheck" : null,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 2,
      "lat" : null,
      "lng" : null,
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  }, {
    "id" : 66,
    "accountId" : 1,
    "name" : "mag-name-1",
    "description" : "setDescription",
    "averageCheck" : 200.1,
    "state" : "MODERATING",
    "address" : {
      "cityId" : 3,
      "lat" : null,
      "lng" : null,
      "postalCode" : "455000",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Магнитогорск",
      "street" : "Тулица Горького",
      "streetNumber" : "1"
    },
    "updatedAt" : 1762605108,
    "unreadCount" : 0,
    "active" : false
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 7,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 7,
  "empty" : false
}

Modifiers

Create modifier
Yield Описание

MILLILITER

PIECE

GRAM

CM

request
POST /1/accounts/1/modifiers HTTP/1.1

{
  "name" : "modifier-name",
  "nameUi" : "modifier-name-ui",
  "minCount" : 0,
  "maxCount" : 5,
  "items" : [ {
    "order" : 0,
    "name" : "modifier-item-1",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  }, {
    "order" : 1,
    "name" : "modifier-item-2",
    "price" : 300,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "KG",
      "value" : 1
    } ]
  }, {
    "order" : 2,
    "name" : "modifier-item-3",
    "price" : 400,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "PIECE",
      "value" : 1
    }, {
      "order" : 1,
      "yieldType" : "CM",
      "value" : 2
    } ]
  } ]
}
response
HTTP/1.1 200 OK

{
  "id" : 25,
  "name" : "modifier-name",
  "nameUi" : "modifier-name-ui",
  "minCount" : 0,
  "maxCount" : 5,
  "items" : [ {
    "id" : 55,
    "order" : 0,
    "name" : "modifier-item-1",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  }, {
    "id" : 56,
    "order" : 1,
    "name" : "modifier-item-2",
    "price" : 300,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "KG",
      "value" : 1
    } ]
  }, {
    "id" : 57,
    "order" : 2,
    "name" : "modifier-item-3",
    "price" : 400,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "PIECE",
      "value" : 1
    }, {
      "order" : 1,
      "yieldType" : "CM",
      "value" : 2
    } ]
  } ]
}
Update modifier
request
PUT /1/modifiers/25 HTTP/1.1

{
  "name" : "modifier-name",
  "nameUi" : "modifier-name-ui",
  "minCount" : 0,
  "maxCount" : 5,
  "items" : [ {
    "order" : 2,
    "name" : "modifier-item-3",
    "price" : 400,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "PIECE",
      "value" : 1
    }, {
      "order" : 1,
      "yieldType" : "CM",
      "value" : 2
    } ],
    "id" : 57
  }, {
    "order" : 1,
    "name" : "modifier-item-4",
    "price" : 500,
    "minCount" : 1,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "KG",
      "value" : 1000
    } ],
    "id" : null
  }, {
    "order" : 0,
    "name" : "modifier-item-1",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "LITER",
      "value" : 1
    } ],
    "id" : 55
  } ]
}
response
HTTP/1.1 200 OK
Delete modifier
request
DELETE /1/modifiers/25 HTTP/1.1
response
HTTP/1.1 200 OK
Get by id modifier
request
GET /1/modifiers/25 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 25,
  "name" : "modifier-name",
  "nameUi" : "modifier-name-ui",
  "minCount" : 0,
  "maxCount" : 5,
  "items" : [ {
    "id" : 55,
    "order" : 0,
    "name" : "modifier-item-1",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  }, {
    "id" : 58,
    "order" : 1,
    "name" : "modifier-item-4",
    "price" : 500,
    "minCount" : 1,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "KG",
      "value" : 1000
    } ]
  }, {
    "id" : 57,
    "order" : 2,
    "name" : "modifier-item-3",
    "price" : 400,
    "minCount" : 0,
    "maxCount" : 1,
    "yields" : [ {
      "order" : 0,
      "yieldType" : "PIECE",
      "value" : 1
    }, {
      "order" : 1,
      "yieldType" : "CM",
      "value" : 2
    } ]
  } ]
}
Get by account id modifier (Page)
request
GET /1/accounts/1/modifiers HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 14,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 16,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 12,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 5,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 3,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 2,
    "maxCount" : 5
  }, {
    "id" : 7,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 3,
    "maxCount" : 7
  }, {
    "id" : 8,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 2,
    "maxCount" : 5
  }, {
    "id" : 1,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 10,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 0,
    "maxCount" : 5
  }, {
    "id" : 17,
    "name" : "modifier-0-name",
    "nameUi" : null,
    "minCount" : 3,
    "maxCount" : 7
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : false,
  "totalElements" : 22,
  "totalPages" : 3,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 10,
  "empty" : false
}

Menu

Menu create
request
POST /api/v1/menu HTTP/1.1

{
  "id" : null,
  "name" : "name",
  "currency" : "RUB",
  "nameUi" : "name-ui",
  "description" : "description",
  "active" : null,
  "restos" : [ ]
}
response
HTTP/1.1 200 OK

{
  "id" : 50,
  "accountId" : 1,
  "name" : null,
  "nameUi" : null,
  "description" : null,
  "active" : false,
  "currency" : "RUB",
  "state" : "MODERATING",
  "updatedAt" : 1762605107,
  "restos" : [ ]
}
Menu update
request
PUT /api/v1/menu/50 HTTP/1.1

{
  "id" : null,
  "name" : "name-1",
  "currency" : "RUB",
  "nameUi" : "name-ui-1",
  "description" : "description-1",
  "active" : null,
  "restos" : [ {
    "id" : 60,
    "table" : false,
    "online" : true,
    "delivery" : true,
    "takeAway" : false,
    "isOnline" : true,
    "isDelivery" : true,
    "isTakeAway" : false,
    "isTable" : false
  }, {
    "id" : 61,
    "table" : false,
    "online" : true,
    "delivery" : true,
    "takeAway" : false,
    "isOnline" : true,
    "isDelivery" : true,
    "isTakeAway" : false,
    "isTable" : false
  }, {
    "id" : 62,
    "table" : false,
    "online" : true,
    "delivery" : false,
    "takeAway" : false,
    "isOnline" : true,
    "isDelivery" : false,
    "isTakeAway" : false,
    "isTable" : false
  } ]
}
response
HTTP/1.1 200 OK
Menu list
request
GET /api/v1/menu HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 2,
  "name" : "pre-order-menu",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605096,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 3,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605096,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 4,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605097,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 5,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605097,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 6,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605098,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 7,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605098,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 8,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605098,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 9,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605098,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 10,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605098,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 11,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 12,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 13,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 14,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 15,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 16,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 17,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605099,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 18,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 19,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 20,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 21,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 22,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 23,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 24,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 25,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 26,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605100,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 27,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 28,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 29,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 30,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 31,
  "name" : "time-slot-menu-0",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 32,
  "name" : "time-slot-menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 33,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 34,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 35,
  "name" : "menu-promo-code",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605101,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 36,
  "name" : "menu-promo-code",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605102,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 37,
  "name" : "menu-promo-code",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605102,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 38,
  "name" : "menu-promo-code",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605102,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 39,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605102,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 40,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605103,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 41,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605103,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 42,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605103,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 44,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "ACTIVE",
  "updatedAt" : 1762605104,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 45,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605104,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 46,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605104,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 47,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605104,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 48,
  "name" : "menu-1",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "ACTIVE",
  "updatedAt" : 1762605104,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 49,
  "name" : "menu name",
  "nameUi" : null,
  "currency" : "RUB",
  "description" : null,
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "ACTIVE",
  "updatedAt" : 1762605107,
  "unreadCount" : 0,
  "isDelivery" : false
}, {
  "id" : 50,
  "name" : "name-1",
  "nameUi" : "name-ui-1",
  "currency" : "RUB",
  "description" : "description-1",
  "active" : false,
  "restos" : [ {
    "id" : null,
    "accountId" : null,
    "name" : null,
    "description" : null,
    "averageCheck" : null,
    "currency" : null,
    "state" : null,
    "address" : null,
    "deliveryChatId" : null,
    "cloudPayments" : null,
    "updatedAt" : 1762605107,
    "tags" : [ ],
    "pays" : [ ],
    "photos" : [ ],
    "openingHours" : { },
    "links" : [ ],
    "phones" : [ ],
    "emails" : [ ],
    "payConfig" : {
      "delivery" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "takeAway" : {
        "cardOnline" : null,
        "cardUponReceipt" : true,
        "cashUponReceipt" : true
      },
      "table" : {
        "cardOnline" : null,
        "commonReceipt" : true
      }
    },
    "unreadCount" : null,
    "payEngine" : {
      "password" : null,
      "currency" : null,
      "sector" : null,
      "paymentType" : null,
      "url" : null,
      "successUrl" : null,
      "failureUrl" : null,
      "taxSystem" : null,
      "offerUrl" : null,
      "offer" : null
    },
    "active" : false
  } ],
  "state" : "MODERATING",
  "updatedAt" : 1762605107,
  "unreadCount" : 0,
  "isDelivery" : false
} ]
Menu get by id
request
GET /api/v1/menu/50 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 50,
  "name" : "name-1",
  "nameUi" : "name-ui-1",
  "description" : "description-1",
  "active" : false,
  "currency" : "RUB",
  "state" : "MODERATING",
  "updatedAt" : 1762605107,
  "restos" : [ {
    "id" : 59,
    "name" : "resto-name-1",
    "address" : {
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "isOnline" : false,
    "isDelivery" : false,
    "isTakeAway" : false,
    "isTable" : false
  }, {
    "id" : 60,
    "name" : "resto-name-1",
    "address" : {
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "isOnline" : true,
    "isDelivery" : true,
    "isTakeAway" : false,
    "isTable" : false
  }, {
    "id" : 61,
    "name" : "resto-name-1",
    "address" : {
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "isOnline" : true,
    "isDelivery" : true,
    "isTakeAway" : false,
    "isTable" : false
  }, {
    "id" : 62,
    "name" : "resto-name-1",
    "address" : {
      "postalCode" : "197082",
      "countryCode" : "RU",
      "country" : "Россия",
      "locality" : "Санкт-Петербург",
      "street" : "Туристская улица",
      "streetNumber" : "28 корпус 1"
    },
    "isOnline" : true,
    "isDelivery" : false,
    "isTakeAway" : false,
    "isTable" : false
  } ]
}

Notification

Get Telegram chatId from post url
request
POST /api/v1/notifications/telegram/chat-id-from-url HTTP/1.1

{
  "postUrl" : "https://t.me/c/1640972101/59"
}
response
HTTP/1.1 200 OK

{
  "chatId" : "-1001640972101"
}
response error example
HTTP/1.1 409 Conflict

{
  "errors" : [ {
    "field" : null,
    "code" : "TelegramChatNotFound",
    "message" : "TelegramChatNotFound"
  } ]
}

Orders

Order preflight

Метод используется для предварительного расчета заказа, как то стоимость доставки и т.д. Результат метода следует отдавать для создания заказа

PersonId - находится в accessToken
Table 3. Pay type
Код Описание

CARD_UPON_RECEIPT

Картой при получении

CASH_UPON_RECEIPT

Наличными при получении

CARD_ONLINE

Картой онлайн

COMMON_RECEIPT

Общий чек

Table 4. Delivery type
Код Описание

DELIVERY

Доставка

TAKE_AWAY

Самовывоз

EAT_IN

В зале

Table 5. request
Path Type Description

preOrderAt

String

Дата предзаказа с часовым поясом 2024-05-04T15:30:00+03:00 (yyyy-MM-dd’T’HH:mmXXX)

tableNumber

String

Номер стола

request
POST /1/persons/orders/preflight HTTP/1.1

{
  "restoId" : 46,
  "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
  "location" : {
    "lat" : 60.005864,
    "lng" : 30.214008
  },
  "deliveryType" : "DELIVERY",
  "payType" : "CARD_UPON_RECEIPT",
  "positions" : [ {
    "id" : 107,
    "name" : "position-name-1",
    "price" : 10000,
    "count" : 2,
    "sum" : 20400,
    "modifiers" : [ {
      "id" : 43,
      "name" : "modifier-0-item-0",
      "price" : "100",
      "count" : 2
    } ]
  }, {
    "id" : 108,
    "name" : "position-name-2",
    "price" : 20000,
    "count" : 1,
    "sum" : 20000
  } ]
}
ok
HTTP/1.1 200 OK

{
  "restoId" : 46,
  "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
  "location" : {
    "lat" : 60.005864,
    "lng" : 30.214008
  },
  "deliveryType" : "DELIVERY",
  "payType" : "CARD_UPON_RECEIPT",
  "comment" : null,
  "promoCode" : null,
  "promoCodeMaxDiscountAmount" : null,
  "promoCodeMinOrderAmount" : null,
  "payableAmount" : 50355,
  "positions" : [ {
    "id" : 107,
    "name" : "position-name-1",
    "price" : 10000,
    "count" : 2,
    "sum" : 20370,
    "payableAmount" : 20370,
    "specials" : [ ],
    "discounts" : [ {
      "type" : "DELIVERY",
      "valueType" : "ABSOLUTE",
      "value" : 15,
      "calculated" : 15
    } ],
    "modifiers" : [ {
      "id" : 43,
      "price" : 100,
      "count" : 2,
      "name" : "modifier-0-item-0"
    } ],
    "promoCodes" : [ ],
    "originalAmount" : 20400
  }, {
    "id" : 108,
    "name" : "position-name-2",
    "price" : 20000,
    "count" : 1,
    "sum" : 19985,
    "payableAmount" : 19985,
    "specials" : [ ],
    "discounts" : [ {
      "type" : "DELIVERY",
      "valueType" : "ABSOLUTE",
      "value" : 15,
      "calculated" : 15
    } ],
    "modifiers" : [ ],
    "promoCodes" : [ ],
    "originalAmount" : 20000
  }, {
    "id" : 1,
    "name" : "Стоимость доставки",
    "price" : 10000,
    "count" : 1,
    "sum" : 10000,
    "payableAmount" : 10000,
    "specials" : [ "DELIVERY_PRICE" ],
    "discounts" : [ ],
    "modifiers" : [ ],
    "promoCodes" : [ ],
    "originalAmount" : 10000
  } ]
}
order sum to much
HTTP/1.1 404 Not Found

{
  "errors" : [ {
    "field" : null,
    "code" : "delivery.order-sum-not-enough.max",
    "message" : "Слишком большая сумма заказа, более 500"
  } ]
}
Order create
request
POST /1/persons/101/orders HTTP/1.1

{
  "restoId" : 46,
  "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
  "location" : {
    "lat" : 60.005864,
    "lng" : 30.214008
  },
  "currency" : "RUB",
  "deliveryType" : "DELIVERY",
  "positions" : [ {
    "id" : 107,
    "name" : "position-name-1",
    "price" : 10000,
    "count" : 2,
    "sum" : 20370,
    "payableAmount" : 20370,
    "modifiers" : [ {
      "id" : 43,
      "price" : 100,
      "count" : 2,
      "name" : "modifier-0-item-0"
    } ]
  }, {
    "id" : 108,
    "name" : "position-name-2",
    "price" : 20000,
    "count" : 1,
    "sum" : 19985,
    "payableAmount" : 19985,
    "modifiers" : [ ]
  }, {
    "id" : 1,
    "name" : "Стоимость доставки",
    "price" : 10000,
    "count" : 1,
    "sum" : 10000,
    "payableAmount" : 10000,
    "modifiers" : [ ]
  } ],
  "payType" : "CARD_UPON_RECEIPT",
  "personCount" : null,
  "preOrderAt" : null,
  "tableNumber" : null,
  "promoCode" : null,
  "personName" : "Harvey Specter",
  "phone" : "+79998885544",
  "email" : null,
  "comment" : null,
  "successUrl" : "https://awesome.site/success-url",
  "failureUrl" : "https://awesome.site/failure-url"
}
response
HTTP/1.1 200 OK

{
  "orderId" : 20,
  "cloudPayments" : {
    "publicId" : null
  },
  "order" : {
    "id" : 20,
    "restoId" : 46,
    "createdAt" : "2025-11-08T12:31:42.719Z",
    "updatedAt" : "2025-11-08T12:31:42.719Z",
    "currency" : "RUB",
    "personName" : "Harvey Specter",
    "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
    "phone" : "+79998885544",
    "email" : null,
    "deliveryType" : "DELIVERY",
    "location" : {
      "lat" : 60.005864,
      "lng" : 30.214008
    },
    "payType" : "CARD_UPON_RECEIPT",
    "comment" : null,
    "status" : "CREATED",
    "personCount" : null,
    "payableAmount" : 50355,
    "preOrderAt" : null,
    "cancelledAt" : null,
    "positions" : [ {
      "id" : 107,
      "name" : "position-name-1",
      "price" : 10000,
      "count" : 2,
      "sum" : 20370,
      "payableAmount" : 20370,
      "specials" : [ ],
      "discounts" : [ {
        "type" : "DELIVERY",
        "valueType" : "ABSOLUTE",
        "value" : 15,
        "calculated" : 15
      } ],
      "modifiers" : [ {
        "id" : 43,
        "price" : 100,
        "count" : 2,
        "name" : "modifier-0-item-0"
      } ],
      "promoCodes" : [ ],
      "originalAmount" : 20400
    }, {
      "id" : 108,
      "name" : "position-name-2",
      "price" : 20000,
      "count" : 1,
      "sum" : 19985,
      "payableAmount" : 19985,
      "specials" : [ ],
      "discounts" : [ {
        "type" : "DELIVERY",
        "valueType" : "ABSOLUTE",
        "value" : 15,
        "calculated" : 15
      } ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 1,
      "name" : "Стоимость доставки",
      "price" : 10000,
      "count" : 1,
      "sum" : 10000,
      "payableAmount" : 10000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 10000
    } ],
    "originalAmount" : 50400
  }
}
Order get by id
request
GET /1/orders/6 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 6,
  "restoId" : 20,
  "createdAt" : "2025-11-08T12:31:39.175Z",
  "updatedAt" : "2025-11-08T12:31:39.250Z",
  "currency" : "RUB",
  "personName" : "Harvey Specter",
  "address" : "197082, Россия, Санкт-Петербург, Туристская улица, 28 корпус 1",
  "phone" : "+79998885544",
  "email" : null,
  "deliveryType" : "TAKE_AWAY",
  "location" : {
    "lat" : 60.0032089,
    "lng" : 30.2094682
  },
  "payType" : "CARD_UPON_RECEIPT",
  "comment" : null,
  "status" : "CREATED",
  "personCount" : 0,
  "payableAmount" : 41200,
  "preOrderAt" : null,
  "cancelledAt" : null,
  "positions" : [ {
    "id" : 20,
    "name" : "position-name-1",
    "price" : 10000,
    "count" : 2,
    "sum" : 21200,
    "payableAmount" : 21200,
    "specials" : [ ],
    "discounts" : [ ],
    "modifiers" : [ {
      "id" : 37,
      "price" : 300,
      "count" : 1,
      "name" : "modifier-0-item-2"
    }, {
      "id" : 38,
      "price" : 100,
      "count" : 1,
      "name" : "modifier-0-item-0"
    }, {
      "id" : 41,
      "price" : 200,
      "count" : 1,
      "name" : "modifier-0-item-1"
    } ],
    "promoCodes" : [ ],
    "originalAmount" : 21200
  }, {
    "id" : 21,
    "name" : "position-name-2",
    "price" : 20000,
    "count" : 1,
    "sum" : 20000,
    "payableAmount" : 20000,
    "specials" : [ ],
    "discounts" : [ ],
    "modifiers" : [ ],
    "promoCodes" : [ ],
    "originalAmount" : 20000
  } ],
  "originalAmount" : 41200
}
Order get by person id
Table 6. query params
Name Required Type

restoId

Optional

Long

request
GET /api/v1/persons/101/orders HTTP/1.1
Table 7. query params
Parameter Description

restoId

filter by restoId

whiteLabel

filter by whiteLabel

statuses

filter by statuses array Order statuses

response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 20,
    "restoId" : 46,
    "createdAt" : "2025-11-08T12:31:42.718Z",
    "updatedAt" : "2025-11-08T12:31:42.718Z",
    "currency" : "RUB",
    "personName" : "Harvey Specter",
    "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
    "phone" : "+79998885544",
    "email" : null,
    "deliveryType" : "DELIVERY",
    "location" : {
      "lat" : 60.005864,
      "lng" : 30.214008
    },
    "payType" : "CARD_UPON_RECEIPT",
    "comment" : null,
    "status" : "CREATED",
    "personCount" : 0,
    "payableAmount" : 50400,
    "preOrderAt" : null,
    "cancelledAt" : null,
    "positions" : [ {
      "id" : 1,
      "name" : "Стоимость доставки",
      "price" : 10000,
      "count" : 1,
      "sum" : 10000,
      "payableAmount" : 10000,
      "specials" : [ "DELIVERY_PRICE" ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 10000
    }, {
      "id" : 108,
      "name" : "position-name-2",
      "price" : 20000,
      "count" : 1,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 107,
      "name" : "position-name-1",
      "price" : 10000,
      "count" : 2,
      "sum" : 20400,
      "payableAmount" : 20400,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ {
        "id" : 43,
        "price" : 100,
        "count" : 2,
        "name" : "modifier-0-item-0"
      } ],
      "promoCodes" : [ ],
      "originalAmount" : 20400
    } ],
    "originalAmount" : 50400
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 1,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 1,
  "empty" : false
}
Order get by resto id
request
GET /1/restos/48/orders?fromAt=2025-11-07T12%3A31%3A43.493468&toAt=2025-11-09T12%3A31%3A43.493528 HTTP/1.1
Table 8. query params
Parameter Description

personId

filter by personId

fromAt

filter by fromAt

toAt

filter by toAt

status

filter by status

preOrder

filter by preOrder (true|false)

sort

sort=createdAt,desc&sort=name,asc

response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 22,
    "restoId" : 48,
    "createdAt" : "2025-11-08T12:31:43.419Z",
    "updatedAt" : "2025-11-08T12:31:43.419Z",
    "currency" : "RUB",
    "personName" : "Harvey Specter",
    "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
    "phone" : "+79998885544",
    "email" : null,
    "deliveryType" : "DELIVERY",
    "location" : {
      "lat" : 60.005864,
      "lng" : 30.214008
    },
    "payType" : "CARD_UPON_RECEIPT",
    "comment" : null,
    "status" : "CREATED",
    "personCount" : 0,
    "payableAmount" : 60000,
    "preOrderAt" : null,
    "cancelledAt" : null,
    "positions" : [ {
      "id" : 1,
      "name" : "Стоимость доставки",
      "price" : 20000,
      "count" : 1,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ "DELIVERY_PRICE" ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 111,
      "name" : "position-name-2",
      "price" : 20000,
      "count" : 1,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 110,
      "name" : "position-name-1",
      "price" : 10000,
      "count" : 2,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    } ],
    "originalAmount" : 60000
  }, {
    "id" : 23,
    "restoId" : 48,
    "createdAt" : "2025-11-08T12:31:43.440Z",
    "updatedAt" : "2025-11-08T12:31:43.440Z",
    "currency" : "RUB",
    "personName" : "Harvey Specter",
    "address" : "Санкт-Петербург, Невский пр., д.56, кв.3, п.1, эт.2",
    "phone" : "+79998885544",
    "email" : null,
    "deliveryType" : "DELIVERY",
    "location" : {
      "lat" : 60.005864,
      "lng" : 30.214008
    },
    "payType" : "CARD_UPON_RECEIPT",
    "comment" : null,
    "status" : "CREATED",
    "personCount" : 0,
    "payableAmount" : 60000,
    "preOrderAt" : null,
    "cancelledAt" : null,
    "positions" : [ {
      "id" : 1,
      "name" : "Стоимость доставки",
      "price" : 20000,
      "count" : 1,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ "DELIVERY_PRICE" ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 111,
      "name" : "position-name-2",
      "price" : 20000,
      "count" : 1,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    }, {
      "id" : 110,
      "name" : "position-name-1",
      "price" : 10000,
      "count" : 2,
      "sum" : 20000,
      "payableAmount" : 20000,
      "specials" : [ ],
      "discounts" : [ ],
      "modifiers" : [ ],
      "promoCodes" : [ ],
      "originalAmount" : 20000
    } ],
    "originalAmount" : 60000
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 2,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 2,
  "empty" : false
}
Order statuses

CREATED - Создан

PAID - Оплачен, сейчас только онлайн,

CONFIRMED - Сотрудник ресторана подтвердил получение заказа

COMPLETED - завершенный

CANCELLED - отмененный

Получение истории изменения статусов заказа
request
GET /1/orders/13/statuses HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "createdAt" : "2025-11-08T12:31:41.165Z",
    "status" : "CREATED"
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 1,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 1,
  "empty" : false
}
Order confirm by id
request
PUT /1/orders/25/confirm HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK
Order cancel by id
request
PUT /1/orders/25/cancel HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK
Order complete by id
request
PUT /1/orders/25/complete HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

Persons

create
Available only for resto employee and admins
request
POST /1/accounts/1/persons HTTP/1.1

{
  "email" : "operator2@email.test",
  "phone" : "+79992000500",
  "password" : "password",
  "firstName" : "firstName",
  "lastName" : "lastName",
  "restoIds" : [ 57 ]
}
response
HTTP/1.1 200 OK
update
Available only for resto employee and admins
request
PUT /1/accounts/1/persons/112 HTTP/1.1

{
  "email" : "operator2@email.test",
  "phone" : "+79992000500",
  "password" : "password",
  "firstName" : "firstName",
  "lastName" : "lastName",
  "restoIds" : [ 58 ]
}
response
HTTP/1.1 200 OK
delete
Available only for resto employee and admins
request
DELETE /1/accounts/1/persons/112 HTTP/1.1
response
HTTP/1.1 200 OK
get by id
Available only for resto employee and admins
request
GET /1/accounts/1/persons/112 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 112,
  "phone" : "+79992000500",
  "email" : "operator2@email.test",
  "firstName" : "firstName",
  "lastName" : "lastName",
  "patronymic" : null,
  "restoIds" : [ 58 ]
}
get by page
Available only for resto employee and admins
request
GET /1/accounts/1/persons HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 1,
    "phone" : null,
    "email" : "m@m.m",
    "firstName" : null,
    "lastName" : null,
    "patronymic" : null,
    "restoIds" : [ ]
  }, {
    "id" : 108,
    "phone" : "+79992000502",
    "email" : "operator4@email.test",
    "firstName" : "firstName",
    "lastName" : "lastName",
    "patronymic" : null,
    "restoIds" : [ 53 ]
  }, {
    "id" : 109,
    "phone" : "+79992000501",
    "email" : "operator3@email.test",
    "firstName" : "firstName",
    "lastName" : "lastName",
    "patronymic" : null,
    "restoIds" : [ 55 ]
  }, {
    "id" : 112,
    "phone" : "+79992000500",
    "email" : "operator2@email.test",
    "firstName" : "firstName",
    "lastName" : "lastName",
    "patronymic" : null,
    "restoIds" : [ 58 ]
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 4,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 4,
  "empty" : false
}

Position modifiers

Update
request
PUT /1/positions/117/modifiers HTTP/1.1

[ {
  "modifierId" : 22,
  "minCount" : 0,
  "maxCount" : 5,
  "items" : [ {
    "id" : null,
    "modifierItemId" : 52,
    "price" : 300,
    "minCount" : 3,
    "maxCount" : 7,
    "yields" : [ {
      "yieldType" : "LITER",
      "value" : 3
    } ]
  }, {
    "id" : null,
    "modifierItemId" : 51,
    "price" : 200,
    "minCount" : 2,
    "maxCount" : 6,
    "yields" : [ {
      "yieldType" : "LITER",
      "value" : 2
    } ]
  }, {
    "id" : null,
    "modifierItemId" : 50,
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "yieldType" : "LITER",
      "value" : 1
    } ]
  } ]
}, {
  "modifierId" : 23,
  "minCount" : 2,
  "maxCount" : 3,
  "items" : [ {
    "id" : null,
    "modifierItemId" : 53,
    "price" : 400,
    "minCount" : 2,
    "maxCount" : 55,
    "yields" : [ {
      "yieldType" : "LITER",
      "value" : 1
    } ]
  } ]
} ]
response
HTTP/1.1 200 OK

[ {
  "id" : 22,
  "modifierId" : 22,
  "minCount" : 0,
  "maxCount" : 5,
  "name" : "modifier-0-name",
  "nameUi" : null,
  "items" : [ {
    "id" : 52,
    "modifierItemId" : 50,
    "order" : 0,
    "name" : "modifier-0-item-0",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  }, {
    "id" : 51,
    "modifierItemId" : 51,
    "order" : 1,
    "name" : "modifier-0-item-1",
    "price" : 200,
    "minCount" : 2,
    "maxCount" : 6,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 2
    } ]
  }, {
    "id" : 50,
    "modifierItemId" : 52,
    "order" : 2,
    "name" : "modifier-0-item-2",
    "price" : 300,
    "minCount" : 3,
    "maxCount" : 7,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 3
    } ]
  } ]
}, {
  "id" : 23,
  "modifierId" : 23,
  "minCount" : 2,
  "maxCount" : 3,
  "name" : "modifier-1-name",
  "nameUi" : null,
  "items" : [ {
    "id" : 53,
    "modifierItemId" : 53,
    "order" : 0,
    "name" : "modifier-1-item-0",
    "price" : 400,
    "minCount" : 2,
    "maxCount" : 55,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  } ]
} ]
Get by position id
request
GET /1/positions/117/modifiers HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 22,
  "modifierId" : 22,
  "minCount" : 0,
  "maxCount" : 5,
  "name" : "modifier-0-name",
  "nameUi" : null,
  "items" : [ {
    "id" : 52,
    "modifierItemId" : 50,
    "order" : 0,
    "name" : "modifier-0-item-0",
    "price" : 100,
    "minCount" : 1,
    "maxCount" : 5,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  }, {
    "id" : 51,
    "modifierItemId" : 51,
    "order" : 1,
    "name" : "modifier-0-item-1",
    "price" : 200,
    "minCount" : 2,
    "maxCount" : 6,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 2
    } ]
  }, {
    "id" : 50,
    "modifierItemId" : 52,
    "order" : 2,
    "name" : "modifier-0-item-2",
    "price" : 300,
    "minCount" : 3,
    "maxCount" : 7,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 3
    } ]
  } ]
}, {
  "id" : 23,
  "modifierId" : 23,
  "minCount" : 2,
  "maxCount" : 3,
  "name" : "modifier-1-name",
  "nameUi" : null,
  "items" : [ {
    "id" : 53,
    "modifierItemId" : 53,
    "order" : 0,
    "name" : "modifier-1-item-0",
    "price" : 400,
    "minCount" : 2,
    "maxCount" : 55,
    "yields" : [ {
      "order" : null,
      "yieldType" : "LITER",
      "value" : 1
    } ]
  } ]
} ]

Position Time Slot

Create
request
POST /1/accounts/1/position-time-slots HTTP/1.1

{
  "name" : "time-slot-name",
  "isActive" : false,
  "menu" : [ {
    "id" : 53,
    "positionGroupIds" : [ {
      "id" : 131
    } ],
    "positionIds" : [ {
      "id" : 129
    } ]
  } ],
  "details" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : false,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : false,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : false,
    "startAt" : "13:00",
    "endAt" : "01:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "13:00",
    "endAt" : "01:00"
  } ]
}
response
HTTP/1.1 200 OK

{
  "id" : 3,
  "name" : "time-slot-name"
}
Update
request
PUT /1/position-time-slots/3 HTTP/1.1

{
  "name" : "time-slot-name-upd",
  "isActive" : true,
  "menu" : [ {
    "id" : 53,
    "positionGroupIds" : [ {
      "id" : 131
    } ],
    "positionIds" : [ {
      "id" : 129
    } ]
  } ],
  "details" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : false,
    "startAt" : "10:00",
    "endAt" : "13:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "11:01",
    "endAt" : "14:25"
  }, {
    "dayOfWeek" : 4,
    "isActive" : false,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : false,
    "startAt" : "13:00",
    "endAt" : "01:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "13:00",
    "endAt" : "01:00"
  } ]
}
response
HTTP/1.1 200 OK
Get by ID
request
GET /1/position-time-slots/3 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 3,
  "name" : "time-slot-name-upd",
  "isActive" : true,
  "createdAt" : 1762605107,
  "updatedAt" : 1762605107,
  "menu" : [ {
    "id" : 53,
    "positionGroupIds" : [ {
      "id" : 131
    } ],
    "positionIds" : [ {
      "id" : 129
    } ]
  } ],
  "details" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : false,
    "startAt" : "10:00",
    "endAt" : "13:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "11:01",
    "endAt" : "14:25"
  }, {
    "dayOfWeek" : 4,
    "isActive" : false,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "12:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : false,
    "startAt" : "13:00",
    "endAt" : "01:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "13:00",
    "endAt" : "01:00"
  } ]
}
Get by account ID
request
GET /1/accounts/1/position-time-slots HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 1,
    "name" : "time-slot-1",
    "isActive" : false,
    "createdAt" : 1762605101,
    "updatedAt" : 1762605101
  }, {
    "id" : 2,
    "name" : "time-slot-1",
    "isActive" : false,
    "createdAt" : 1762605101,
    "updatedAt" : 1762605101
  }, {
    "id" : 3,
    "name" : "time-slot-name-upd",
    "isActive" : false,
    "createdAt" : 1762605107,
    "updatedAt" : 1762605107
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 3,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 3,
  "empty" : false
}
Get by resto ID
public access
request
GET /1/restos/63/position-time-slots HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "positionIds" : [ 160, 161, 162, 163, 166, 167, 155, 156, 157, 158, 159 ],
  "details" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  } ]
}, {
  "positionIds" : [ 160, 161, 162, 163, 166, 167, 155, 156, 157, 158, 159 ],
  "details" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "09:00",
    "endAt" : "20:00"
  } ]
} ]
Delete
request
DELETE /1/position-time-slots/3 HTTP/1.1
response
HTTP/1.1 200 OK

Promo codes

Create
request
POST /1/accounts/1/promo-codes HTTP/1.1

{
  "code" : "PROMO_NAME",
  "discountValue" : 15,
  "discountType" : "ABSOLUTE",
  "isActive" : true,
  "restaurants" : [ {
    "id" : 83
  }, {
    "id" : 85
  } ],
  "menu" : [ {
    "id" : 1,
    "positionGroupIds" : [ {
      "id" : 2
    }, {
      "id" : 3
    } ],
    "positionIds" : [ {
      "id" : 4
    }, {
      "id" : 5
    } ]
  } ],
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "01:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "startAt" : "02:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "03:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "startAt" : "04:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "05:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "startAt" : "06:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "07:00",
    "finishAt" : "21:00"
  } ]
}
response
HTTP/1.1 200 OK

{
  "id" : 7,
  "code" : "PROMO_NAME"
}
Update
request
PUT /1/promo-codes/7 HTTP/1.1

{
  "code" : "PROMO_NAME_1",
  "discountValue" : 15,
  "discountType" : "ABSOLUTE",
  "deliveryType" : "DELIVERY",
  "isActive" : true,
  "restaurants" : [ {
    "id" : 84
  } ],
  "menu" : [ {
    "id" : 1,
    "positionGroupIds" : [ {
      "id" : 2
    }, {
      "id" : 3
    } ],
    "positionIds" : [ {
      "id" : 4
    }, {
      "id" : 5
    } ]
  } ],
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "01:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "startAt" : "02:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "03:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "startAt" : "04:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "05:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "startAt" : "06:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "07:00",
    "finishAt" : "21:00"
  } ]
}
response
HTTP/1.1 200 OK
Get by ID
request
GET /1/promo-codes/7 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "id" : 7,
  "createdAt" : "2025-11-08T12:31:50.227Z",
  "updatedAt" : "2025-11-08T12:31:50.237Z",
  "code" : "PROMO_NAME_1",
  "name" : null,
  "discountType" : "ABSOLUTE",
  "discountValue" : 15,
  "deliveryType" : "DELIVERY",
  "startAt" : null,
  "finishAt" : null,
  "isActive" : true,
  "maxDiscountAmount" : null,
  "minOrderAmount" : null,
  "usageLimit" : null,
  "perPersonLimit" : null,
  "usageCount" : 0,
  "restaurants" : [ {
    "id" : 84
  } ],
  "menu" : [ {
    "id" : 1,
    "positionGroupIds" : [ {
      "id" : 2
    }, {
      "id" : 3
    } ],
    "positionIds" : [ {
      "id" : 4
    }, {
      "id" : 5
    } ]
  } ],
  "hours" : [ {
    "dayOfWeek" : 1,
    "isActive" : true,
    "startAt" : "01:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 2,
    "isActive" : true,
    "startAt" : "02:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 3,
    "isActive" : true,
    "startAt" : "03:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 4,
    "isActive" : true,
    "startAt" : "04:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 5,
    "isActive" : true,
    "startAt" : "05:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 6,
    "isActive" : true,
    "startAt" : "06:00",
    "finishAt" : "21:00"
  }, {
    "dayOfWeek" : 7,
    "isActive" : true,
    "startAt" : "07:00",
    "finishAt" : "21:00"
  } ]
}
Get by account ID
request
GET /1/accounts/1/promo-codes HTTP/1.1
response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 7,
    "createdAt" : "2025-11-08T12:31:50.227Z",
    "updatedAt" : "2025-11-08T12:31:50.237Z",
    "code" : "PROMO_NAME_1",
    "name" : null,
    "discountType" : "ABSOLUTE",
    "discountValue" : 15,
    "deliveryType" : "DELIVERY",
    "startAt" : null,
    "finishAt" : null,
    "isActive" : true,
    "maxDiscountAmount" : null,
    "minOrderAmount" : null,
    "usageLimit" : null,
    "perPersonLimit" : null,
    "usageCount" : 0
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : true,
      "unsorted" : true,
      "sorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 1,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "unsorted" : true,
    "sorted" : false
  },
  "numberOfElements" : 1,
  "empty" : false
}
Delete
request
DELETE /1/promo-codes/7 HTTP/1.1
response
HTTP/1.1 200 OK

Promotions

Get promotions by resto
request
GET /1/restos/4/promotions HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 2,
  "name" : "promotion-name",
  "description" : "description",
  "startAt" : "2025-11-07",
  "finishAt" : "2025-11-18",
  "order" : 1,
  "photos" : [ "http://localhost:4545/1/photos/6", "http://localhost:4545/1/photos/5" ]
} ]
Promotions order down
request
PUT /api/v1/accounts/1/promotions/2/order/down HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK
Promotions order up
request
PUT /api/v1/accounts/1/promotions/2/order/up HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

Photo

https://api-stage.gismenu.ru/1/photos/1361?q=50
Table 9. Captcha Token
Query param Описание

q

Quality from 1 to 100

mode

crop

from center

w

width

h

height

WebSocket Notification

GET /1/notifications?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJuYW1lXCI6bnVsbCxcImF1dGhlbnRpY2F0ZWRcIjp0cnVlLFwiYXV0aG9yaXRpZXNcIjpbe1wiYXV0aG9yaXR5XCI6XCJST0xFX1JFU1RPX0NVU1RPTUVSXCJ9XSxcInByaW5jaXBhbFwiOntcImlkXCI6MSxcImJ5UGhvbmVcIjpmYWxzZSxcImVtYWlsXCI6bnVsbCxcImFjY291bnRJZFwiOjF9fSIsImlhdCI6MTcwODI2OTE5MywiZXhwIjoxNzA4NzAxMTkzfQ.rEhS5CGzfhWCMUg6m8SVTieX3j8A8u5-0jL4-1lyU5U
additional urls
GET /1
GET /1/echo
ping
{"payload":{"timestamp":"2024-02-18T14:55:15.319Z"},"type":"ping"}
pong
{"payload":{"timestamp":"2024-02-18T14:55:15.391Z"},"type":"pong"}
unauthorized
{"payload":{},"type":"unauthorized"}
personOrderStatusChanged
{"payload":{"orderId":1,"status":"CREATED"},"type":"personOrderStatusChanged"}