Метод: POST
Ресурс: event/raws
Параметры (передаются в виде JSON):
response_type— тип ответа:chunked— используетсяTransfer-Encoding: chunked, где каждый контент отдаётся в своём блоке и в порядке, переданном в теле запроса, если контента нет, то вместо контента передаётся null символ "\0"multipart/mixed— используется форматmultipart/mixedrfc tech-ms , он не входит в стандарт HTTP, но используется в электронных письмах. Поэтому реализовать его не составляет труда. Так же он очень похож наmultipart/form-data. Каждый контент отдаётся в своём блоке и помечен отдельно заголовками X-Event-ID и X-Content-ID, к какому событию и контенту он принадлежит. Если контента нет, то оно либо не передаётся, либо тело этого текста отсутствует
event— массив объектов с полями:id— ID событияtbsId— Табличное пространство, в котором событиеcontentId— ID контента. Если не указан, то отдаётся главный узел
Примеры:
chunked :
Запрос
POST /xapi/event/raws
X-API-Version: 1
X-API-CompanyId: iw
X-API-ImporterName: dome
X-API-Auth-Token: brse99dugp1cdbr69axz
(пустая строка)
{"response_type": "chunked", "events": [{"id": 2, "tbsId": 4}, {"id": 3, "tbsId": 4}, {"id": 4, "tbsId": 4, "contentId": 8}]}
Ответ
HTTP/1.1 200 OK Content-Type: text/plain Transfer-Encoding: chunked (пустая строка) 1 \0 (символ отсутствия контента для события 2) 3E4 (содержимое корневого контента для события 3) 48AC (содержимое контента 8 для события 4) 0
multipart/mixed :
Запрос
POST /xapi/event/raws
X-API-Version: 1
X-API-CompanyId: iw
X-API-ImporterName: dome
X-API-Auth-Token: brse99dugp1cdbr69axz
(пустая строка)
{"response_type": "multipart/mixed", "events": [{"id": 2, "tbsId": 4}, {"id": 3, "tbsId": 4}, {"id": 4, "tbsId": 4, "contentId": 8}]}
Ответ
HTTP/1.1 200 OK Content-Type: multipart/mixed; boundary=Asrf456BGe4h Content-Length: (суммарный объём, включая дочерние заголовки, может отсутствовать!) (пустая строка) (отсутствующая преамбула) --Asrf456BGe4h Content-Type: application/x-empty Content-Disposition: attachment; filename="content-2" X-Event-ID: 2 (пустая строка и после нулевое содержимое) --Asrf456BGe4h Content-Disposition: attachment; filename="content-3-5.eml" Content-Type: email X-Event-ID: 3 X-Content-ID: 5 (пустая строка) (содержимое корневого контента для события 3) --Asrf456BGe4h Content-Disposition: attachment; filename="my-project.jpg" Content-Type: image/jpeg X-Event-ID: 4 X-Content-ID: 8 (пустая строка) (содержимое контента 8 для события 4) --Asrf456BGe4h-- (отсутствующий эпилог - пустая строка)