ADN Open CIS
Сообщество программистов Autodesk в СНГ

19/07/2015

Возможности API. Сервис для просмотра Viewing Service

В API есть две основные операции – создание и чтение. Обращение к методам создания модели осуществляется с помощью POST запросов, а к методам чтения, с помощью GET:

  • API для создания (Create API) предназначено для вызова генерации объекта для просмотра. В большинстве случаев при этом происходи запуск процесса извлечения данных.
  • API для чтения предназначено для вызова методов просмотра модели по заданному URN (Uniform Resource Name – Единообразное название ресурса). Существует несколько опций для вызова GET запросов – По умолчанию, Все, Статус, с помощью которых определяется что же будет возвращено в результате.

Обратите внимание, что так как видимая область генерируется постепенно и мы разрешаем работать с объектом для просмотра даже когда процесс извлечения данных еще не завершен, объект просмотра, возвращаемый GET API может быть не полным.

Для каждой ветки с типом «Геометрия» есть свойство Статус, которое отображает состояние (В ожидании, В процессе, Успешно, Ошибка, и т.д.). Обычно, каркас модели генерируется в первую очередь (зависит от формата исходной модели). Клиент должен решить, как представить в интерфейсе статус каждого вложенного узла объекта для просмотра, также, как и общий статус извлечения данных.

API для регистрации

API для регистрации – исходная точка процесса извлечения данных для заданного файла модели, или копирование существующей модели из одного URN в другой.

POST /viewingservice/v1/register

Примеры запросов:

Код - XML: [Выделить]
  1. POST /viewingservice/v1/register HTTP/1.1
  2. Content-Type: application/json
  3. Content-Length: 103
  4. {
  5.   "urn":"dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y="
  6. }

Код - XML: [Выделить]
  1. POST /viewingservice/v1/register HTTP/1.1
  2. Content-Type: application/json
  3. Content-Length: 103
  4. {
  5.   "urn":"dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  6.   "from":"dXJuOmFkc2subml0cm9nZW46ZnMuZmlsZToxMmZhZTUwZDQ0Yjc0NzAxYjFlYzAxNDU2NzEzNDI0NA=="
  7. }

Код - XML: [Выделить]
  1. POST /viewingservice/v1/register HTTP/1.1
  2. Content-Type: application/json
  3. Content-Length: 103
  4. {
  5.   "urn":"dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  6.   "from":"dXJuOmFkc2subml0cm9nZW46ZnMuZmlsZToxMmZhZTUwZDQ0Yjc0NzAxYjFlYzAxNDU2NzEzNDI0NA==",
  7.   "owner":"dXJuOmFkc2subml0cm9nZW46ZnMuZmlsZTo0NjFkMjAxNTJjMmE0ZDRjYTE0MTZmN2IyOTllOTEyNQ=="
  8. }

Код - XML: [Выделить]
  1. POST /viewingservice/v1/register HTTP/1.1
  2. Content-Type: application/json
  3. Content-Length: 103
  4. {
  5.   "urn":"dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  6.   "from":"dXJuOmFkc2subml0cm9nZW46ZnMuZmlsZToxMmZhZTUwZDQ0Yjc0NzAxYjFlYzAxNDU2NzEzNDI0NA==",
  7.   "filename":"空调通风平面图.dwf"
  8. }

Код - XML: [Выделить]
  1. POST /viewingservice/v1/register HTTP/1.1
  2. Content-Type: application/json
  3. Content-Length: 103
  4. {
  5.   "urn":"dXJuOmFkc2suczM6ZnMuZmlsZTovdmlld2luZ3NlcnZpY2UvYXBpL3NhbXBsZWNvcHkuZHdm",
  6.   "from-urn":"dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  7.   "owner":"dXJuOmFkc2subml0cm9nZW46ZnMuZmlsZTo0NjFkMjAxNTJjMmE0ZDRjYTE0MTZmN2IyOTllOTEyNQ=="
  8. }

Параметры запроса:

  • urn – обязательный. Закодированный в Base64 исходный URN
  • from – не обязательный. Закодированный в Base64 URN для скачивания. Если не задан, берется исходный URN
  • from-urn – не обязательный. Закодированный в Base64 исходный URN. Если задан, то это означает, что идет запрос на копирование, а не на преобразование. form-urn не может совпадать с urn.
  • owner – не обязательный. Закодированный в Base64 URN для Адаптации Сервиса Просмотра (Viewing Service Adapter - VSA).
  • filename – не обязательный. Название входного файла. Если не задано, то оно будет получено из исходного URN.

Заголовки запроса:

  • Content-Type – обязательный. Должен быть application/json; charset=utf-8
  • x-ads-test – не обязательный. По умолчанию равен false. Преобразование не будет запущено, в случае если значение равно true.

Статусы:

  • 200 – OK. Извлечение данных успешно запущено. Имейте ввиду, данный статус не означает, что процесс завершен.
  • 201– Создан.
    • Файл уже был зарегистрирован. Объект просмотра уже доступен для этого файла.
    • В режиме копирования, если копируемый файл уже существует
    • 400 – не верный запрос. Например, формат URN неправильный
    • 500 – Внутренняя ошибка сервера. На сервере произошла непредвиденная ошибка.

 

API получения объекта для просмотра

Существует три варианта вызова API – По умолчанию, Все, Статус, с помощью которых определяется что же будет возвращено в результате.

API получения объекта для просмотра (По умолчанию)

Это поведение по умолчанию для API получения объекта. Запрос возвратит объект для просмотра без какой-либо дополнительной информаци.

GET /viewingservice/v1/{urn}?guid=$GUID$

Пример запроса:

Код - XML: [Выделить]
  1. GET    /viewingservice/v1/dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y= HTTP/1.1

Пример ответа:

Код - XML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3. {
  4.   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff12",
  5.   "type": "geometry",
  6.   "name": "This is a 3d sheet",
  7.   "progress": "30%",
  8.   "role": "3d",
  9.   "status": "Pending",
  10.   "hasThumbnail": "true",
  11.   "children": [{
  12.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff22",
  13.       "type": "view",
  14.       "camera": [-109.20826,
  15.                   45.292778,
  16.                  -102.969894,
  17.                  -36.691547,
  18.                  -10.04752,
  19.                   1.024357,
  20.                   0.267683,
  21.                   0.91545,
  22.                   0.300495,
  23.                   0.014248,
  24.                   14.234406,
  25.                   70.184082,
  26.                   1],
  27.       "hasThumbnail": "false",
  28.       "messages": [{
  29.                   "type": "info",
  30.                   "code": "111",
  31.                   "message": "default camera settings"
  32.                   }],
  33.       "name": "lastCamera view",
  34.       "progress": "30%",
  35.       "role": "3d",
  36.       "status": "Pending"
  37.             },
  38.  {
  39.   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff33",
  40.   "type": "resource",
  41.   "hasThumbnail": "true",
  42.   "mime": "application/autodesk-fysc",
  43.   "progress": "30%",
  44.   "role": "graphics",
  45.   "status": "Pending",
  46.   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.fysc"
  47.   },
  48.  {
  49.   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff60",
  50.   "type": "resource",
  51.   "hasThumbnail": "true",
  52.   "mime": "application/autodesk-svf",
  53.   "progress": "20%",
  54.   "role": "graphics",
  55.   "status": "Pending",
  56.   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.svf"
  57.   }]
  58. }

Параметры запроса:

  • urn – обязательный. Закодированный в Base64 исходный URN
  • guid – не обязательный. Идентификатор подмножества объекта для просмотра.

Статусы:

  • 200 – OK. Объект найден. Информация по нему возвращена.
  • 400 – не верный запрос. Например, формат URN неправильный
  • 404 – не найден. По заданному URN объект не найден
  • 500 – Внутренняя ошибка сервера. На сервере произошла непредвиденная ошибка.

 

API получения объекта для просмотра (Все)

API вернет полный объект для просмотра. Пример ниже – это хорошая иллюстрация того, что может быть включено в полный объект.

GET /viewingservice/v1/{urn}/all?guid=$GUID$

Пример запроса:

Код - XML: [Выделить]
  1. GET    /viewingservice/v1/dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/all HTTP/1.1

Пример ответа:

Код - XML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3. {
  4.   "version": "1.0",
  5.   "urn": "dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  6.   "guid": "dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  7.   "name": "sample.dwf",
  8.   "type": "design",
  9.   "progress": "30%",
  10.   "status": "Pending",
  11.   "hasThumbnail": "true",
  12.   "messages": [{
  13.       "type": "warning",
  14.       "code": "123",
  15.       "message": "this is a 123 warning"
  16.       },
  17.       {
  18.       "type": "error",
  19.       "code": "234",
  20.       "message": "this is a 234 error"
  21.       },
  22.       {
  23.       "type": "info",
  24.       "code": "334",
  25.       "message": "this is a 334 info"
  26.   }],
  27.   "children": [{
  28.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff02",
  29.       "type": "folder",
  30.       "channel": "dwf-dwg",
  31.       "hasThumbnail": "false",
  32.       "name": "DWG generation",
  33.       "role": "conversion",
  34.       "status": "on-demand"
  35.       },
  36.       {
  37.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dfe02",
  38.       "type": "folder",
  39.       "channel": "dwf-ivt",
  40.       "hasThumbnail": "false",
  41.       "name": "IVT conversion",
  42.       "progress": "Complete",
  43.       "role": "conversion",
  44.       "status": "Success",
  45.       "children": [{
  46.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff44",
  47.           "type": "resource",
  48.           "messages": [{
  49.               "type": "warning",
  50.               "code": "666",
  51.               "message": "model structure could not be preserved"
  52.               }],
  53.           "mime": "application/autodesk-ivt",
  54.           "size": 12726,
  55.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_dwf.ivt"
  56.           }]
  57.       },
  58.       {
  59.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dee02",
  60.       "type": "folder",
  61.       "channel": "dwf-vewable",
  62.       "hasThumbnail": "true",
  63.       "name": "sheets",
  64.       "progress": "30%",
  65.       "role": "viewable",
  66.       "status": "Pending",
  67.       "children": [{
  68.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff12",
  69.           "type": "geometry",
  70.           "hasThumbnail": "true",
  71.           "name": "This is a 3d sheet",
  72.           "progress": "30%",
  73.           "role": "3d",
  74.           "status": "Pending",
  75.           "children": [{
  76.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff22",
  77.               "type": "view",
  78.               "camera": [-109.20826,
  79.               45.292778,
  80.               -102.969894,
  81.               -36.691547,
  82.               -10.04752,
  83.               1.024357,
  84.               0.267683,
  85.               0.91545,
  86.               0.300495,
  87.               0.014248,
  88.               14.234406,
  89.               70.184082,
  90.               1],
  91.               "hasThumbnail": "false",
  92.               "messages": [{
  93.                   "type": "info",
  94.                   "code": "111",
  95.                   "message": "default camera settings"
  96.               }],
  97.               "name": "lastCamera view",
  98.               "progress": "30%",
  99.               "role": "3d",
  100.               "status": "Pending"
  101.           },
  102.           {
  103.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff33",
  104.               "type": "resource",
  105.               "hasThumbnail": "true",
  106.               "mime": "application/autodesk-fysc",
  107.               "progress": "30%",
  108.               "role": "graphics",
  109.               "status": "Pending",
  110.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.fysc",
  111.               "children": [{
  112.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff55",
  113.                   "type": "resource",
  114.                   "mime": "image/png",
  115.                   "resolution": [580,
  116.                   580],
  117.                   "role": "thumbnail",
  118.                   "size": 12726,
  119.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_580x580.png"
  120.               },
  121.               {
  122.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff57",
  123.                   "type": "resource",
  124.                   "mime": "image/png",
  125.                   "resolution": [188,
  126.                   188],
  127.                   "role": "thumbnail",
  128.                   "size": 12726,
  129.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_188x188.png"
  130.               },
  131.               {
  132.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff58",
  133.                   "type": "resource",
  134.                   "mime": "image/png",
  135.                   "resolution": [120,
  136.                   120],
  137.                   "role": "thumbnail",
  138.                   "size": 12726,
  139.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_120x120.png"
  140.               },
  141.               {
  142.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff59",
  143.                   "type": "resource",
  144.                   "mime": "image/png",
  145.                   "resolution": [58,
  146.                   58],
  147.                   "role": "thumbnail",
  148.                   "size": 12726,
  149.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_58x58.png"
  150.               }]
  151.           },
  152.           {
  153.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff60",
  154.               "type": "resource",
  155.               "hasThumbnail": "true",
  156.               "mime": "application/autodesk-svf",
  157.               "progress": "20%",
  158.               "role": "graphics",
  159.               "status": "Pending",
  160.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.svf",
  161.               "children": [{
  162.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff61",
  163.                   "type": "resource",
  164.                   "mime": "image/png",
  165.                   "resolution": [580,
  166.                   580],
  167.                   "role": "thumbnail",
  168.                   "size": 12726,
  169.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_580x580.png"
  170.               },
  171.               {
  172.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff62",
  173.                   "type": "resource",
  174.                   "mime": "image/png",
  175.                   "resolution": [188,
  176.                   188],
  177.                   "role": "thumbnail",
  178.                   "size": 12726,
  179.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_188x188.png"
  180.               },
  181.               {
  182.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff63",
  183.                   "type": "resource",
  184.                   "mime": "image/png",
  185.                   "resolution": [120,
  186.                   120],
  187.                   "role": "thumbnail",
  188.                   "size": 12726,
  189.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_120x120.png"
  190.               },
  191.               {
  192.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff64",
  193.                   "type": "resource",
  194.                   "mime": "image/png",
  195.                   "resolution": [58,
  196.                   58],
  197.                   "role": "thumbnail",
  198.                   "size": 12726,
  199.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_58x58.png"
  200.               }]
  201.            }]
  202.        },
  203.           {
  204.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff65",
  205.               "type": "geometry",
  206.               "hasThumbnail": "true",
  207.               "name": "This is a 2d sheet",
  208.               "progress": "20%",
  209.               "role": "2d",
  210.               "status": "Pending",
  211.               "children": [{
  212.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff66",
  213.                   "type": "view",
  214.                   "hasThumbnail": "false",
  215.                   "name": "zoom",
  216.                   "role": "2d",
  217.                   "viewbox": [-109.20826,
  218.                   45.292778,
  219.                   -102.969894,
  220.                   -36.691547]
  221.               },
  222.               {
  223.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff67",
  224.                   "type": "resource",
  225.                   "hasThumbnail": "true",
  226.                   "mime": "application/autodesk-fydo",
  227.                   "progress": "20%",
  228.                   "role": "graphics",
  229.                   "status": "Pending",
  230.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0.fydo",
  231.                   "children": [{
  232.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff68",
  233.                       "type": "resource",
  234.                       "mime": "image/png",
  235.                       "resolution": [580,
  236.                       580],
  237.                       "role": "thumbnail",
  238.                       "size": 12726,
  239.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_fydo_01_thumb_580x580.png"
  240.                   },
  241.                   {
  242.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff69",
  243.                       "type": "resource",
  244.                       "mime": "image/png",
  245.                       "progress": "Complete",
  246.                       "resolution": [188,
  247.                       188],
  248.                       "role": "thumbnail",
  249.                       "size": 12726,
  250.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_fydo_01_thumb_188x188.png"
  251.                   },
  252.                   {
  253.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff70",
  254.                       "type": "resource",
  255.                       "mime": "image/png",
  256.                       "resolution": [120,
  257.                       120],
  258.                       "role": "thumbnail",
  259.                       "size": 12726,
  260.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_fydo_01_thumb_120x120.png"
  261.                   },
  262.                   {
  263.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff71",
  264.                       "type": "resource",
  265.                       "mime": "image/png",
  266.                       "resolution": [58,
  267.                       58],
  268.                       "role": "thumbnail",
  269.                       "size": 12726,
  270.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_fydo_01_thumb_58x58.png"
  271.                   }]
  272.               },
  273.               {
  274.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff72",
  275.                   "type": "resource",
  276.                   "hasThumbnail": "true",
  277.                   "mime": "application/autodesk-svg",
  278.                   "progress": "20%",
  279.                   "role": "graphics",
  280.                   "status": "Pending",
  281.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0.svg",
  282.                   "children": [{
  283.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff73",
  284.                       "type": "resource",
  285.                       "mime": "image/png",
  286.                       "resolution": [580,
  287.                       580],
  288.                       "role": "thumbnail",
  289.                       "size": 12726,
  290.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_svg_01_thumb_580x580.png"
  291.                   },
  292.                   {
  293.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff74",
  294.                       "type": "resource",
  295.                       "mime": "image/png",
  296.                       "resolution": [188,
  297.                       188],
  298.                       "role": "thumbnail",
  299.                       "size": 12726,
  300.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_svg_01_thumb_188x188.png"
  301.                   },
  302.                   {
  303.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff75",
  304.                       "type": "resource",
  305.                       "mime": "image/png",
  306.                       "resolution": [120,
  307.                       120],
  308.                       "role": "thumbnail",
  309.                       "size": 12726,
  310.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_svg_01_thumb_120x120.png"
  311.                   },
  312.                   {
  313.                       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff76",
  314.                       "type": "resource",
  315.                       "mime": "image/png",
  316.                       "resolution": [58,
  317.                       58],
  318.                       "role": "thumbnail",
  319.                       "size": 12726,
  320.                       "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0_svg_01_thumb_58x58.png"
  321.                   }]
  322.               }]
  323.           }]
  324.       },
  325.       {
  326.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff77",
  327.           "type": "resource",
  328.           "mime": "application/autodesk-db",
  329.           "name": "property db",
  330.           "progress": "Complete",
  331.           "role": "Autodesk.CloudPlatform.PropertyDatabase",
  332.           "status": "Success",
  333.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/section_properties.db"
  334.       }]
  335.    }

Еще один пример запроса:

Код - XML: [Выделить]
  1. GET    /viewingservice/v1/dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/all?guid=067e6162-3b6f-4ae2-a171-2470b63dff12 HTTP/1.1

И результат:

Код - XML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3.   {
  4.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff12",
  5.       "type": "geometry",
  6.       "name": "This is a 3d sheet",
  7.       "progress": "30%",
  8.       "role": "3d",
  9.       "status": "Pending",
  10.       "hasThumbnail": "true",
  11.       "children": [{
  12.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff22",
  13.           "type": "view",
  14.           "camera": [-109.20826,
  15.           45.292778,
  16.           -102.969894,
  17.           -36.691547,
  18.           -10.04752,
  19.           1.024357,
  20.           0.267683,
  21.           0.91545,
  22.           0.300495,
  23.           0.014248,
  24.           14.234406,
  25.           70.184082,
  26.           1],
  27.           "hasThumbnail": "false",
  28.           "messages": [{
  29.               "type": "info",
  30.               "code": "111",
  31.               "message": "default camera settings"
  32.           }],
  33.           "name": "lastCamera view",
  34.           "progress": "30%",
  35.           "role": "3d",
  36.           "status": "Pending"
  37.       },
  38.       {
  39.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff33",
  40.           "type": "resource",
  41.           "hasThumbnail": "true",
  42.           "mime": "application/autodesk-fysc",
  43.           "progress": "30%",
  44.           "role": "graphics",
  45.           "status": "Pending",
  46.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.fysc",
  47.           "children": [{
  48.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff55",
  49.               "type": "resource",
  50.               "mime": "image/png",
  51.               "resolution": [580,
  52.               580],
  53.               "role": "thumbnail",
  54.               "size": 12726,
  55.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_580x580.png"
  56.           },
  57.           {
  58.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff57",
  59.               "type": "resource",
  60.               "mime": "image/png",
  61.               "resolution": [188,
  62.               188],
  63.               "role": "thumbnail",
  64.               "size": 12726,
  65.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_188x188.png"
  66.           },
  67.           {
  68.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff58",
  69.               "type": "resource",
  70.               "mime": "image/png",
  71.               "resolution": [120,
  72.               120],
  73.               "role": "thumbnail",
  74.               "size": 12726,
  75.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_120x120.png"
  76.           },
  77.           {
  78.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff59",
  79.               "type": "resource",
  80.               "mime": "image/png",
  81.               "resolution": [58,
  82.               58],
  83.               "role": "thumbnail",
  84.               "size": 12726,
  85.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_fysc_01_thumb_58x58.png"
  86.           }]
  87.       },
  88.       {
  89.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff60",
  90.           "type": "resource",
  91.           "hasThumbnail": "true",
  92.           "mime": "application/autodesk-svf",
  93.           "progress": "20%",
  94.           "role": "graphics",
  95.           "status": "Pending",
  96.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.svf",
  97.           "children": [{
  98.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff61",
  99.               "type": "resource",
  100.               "mime": "image/png",
  101.               "resolution": [580,
  102.               580],
  103.               "role": "thumbnail",
  104.               "size": 12726,
  105.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_580x580.png"
  106.           },
  107.           {
  108.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff62",
  109.               "type": "resource",
  110.               "mime": "image/png",
  111.               "resolution": [188,
  112.               188],
  113.               "role": "thumbnail",
  114.               "size": 12726,
  115.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_188x188.png"
  116.           },
  117.           {
  118.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff63",
  119.               "type": "resource",
  120.               "mime": "image/png",
  121.               "resolution": [120,
  122.               120],
  123.               "role": "thumbnail",
  124.               "size": 12726,
  125.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_120x120.png"
  126.           },
  127.           {
  128.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff64",
  129.               "type": "resource",
  130.               "mime": "image/png",
  131.               "resolution": [58,
  132.               58],
  133.               "role": "thumbnail",
  134.               "size": 12726,
  135.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_svf_01_thumb_58x58.png"
  136.           }]
  137.       }]
  138.   }

Параметры запроса:

  • urn – обязательный. Закодированный в Base64 исходный URN
  • guid – не обязательный. Идентификатор подмножества объекта для просмотра.

Статусы:

  • 200 – OK. Объект найден. Информация по нему возвращена.
  • 400 – не верный запрос. Например, формат URN неправильный
  • 404 – не найден. По заданному URN объект не найден
  • 500 – Внутренняя ошибка сервера. На сервере произошла непредвиденная ошибка.

 

API получения объекта для просмотра (Статус)

API вернет только статус для всех узлов объекта, для которых важно его состояние.

GET /viewingservice/v1/{urn}/status?guid=$GUID$

Пример запроса:          

Код - XML: [Выделить]
  1. GET    /viewingservice/v1/dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/status HTTP/1.1

Пример ответа:

Код - XML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3.   {
  4.       "version": "1.0",
  5.       "urn": "dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  6.       "guid": "dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=",
  7.       "name": "sample.dwf",
  8.       "type": "design",
  9.       "progress": "30%",
  10.       "status": "Pending",
  11.       "hasThumbnail": "true",
  12.       "messages": [{
  13.           "type": "warning",
  14.           "code": "123",
  15.           "message": "this is a 123 warning"
  16.       },
  17.       {
  18.           "type": "error",
  19.           "code": "234",
  20.           "message": "this is a 234 error"
  21.       },
  22.       {
  23.           "type": "info",
  24.           "code": "334",
  25.           "message": "this is a 334 info"
  26.       }],
  27.       "children": [{
  28.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff02",
  29.           "type": "folder",
  30.           "hasThumbnail": "false",
  31.           "name": "DWG generation",
  32.           "role": "conversion",
  33.           "status": "on-demand"
  34.       },
  35.       {
  36.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dfe02",
  37.           "type": "folder",
  38.           "hasThumbnail": "false",
  39.           "name": "IVT conversion",
  40.           "progress": "Complete",
  41.           "role": "conversion",
  42.           "status": "Success",
  43.           "children": [{
  44.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff44",
  45.               "type": "resource",
  46.               "messages": [{
  47.                   "type": "warning",
  48.                   "code": "666",
  49.                   "message": "model structure could not be preserved"
  50.               }],
  51.               "mime": "application/autodesk-ivt",
  52.               "size": 12726,
  53.               "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0_dwf.ivt"
  54.           }]
  55.       },
  56.       {
  57.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dee02",
  58.           "type": "folder",
  59.           "hasThumbnail": "true",
  60.           "name": "sheets",
  61.           "progress": "30%",
  62.           "role": "viewable",
  63.           "status": "Pending",
  64.           "children": [{
  65.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff12",
  66.               "type": "geometry",
  67.               "hasThumbnail": "true",
  68.               "name": "This is a 3d sheet",
  69.               "progress": "30%",
  70.               "role": "3d",
  71.               "status": "Pending",
  72.               "children": [{
  73.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff22",
  74.                   "type": "view",
  75.                   "camera": [-109.20826,
  76.                   45.292778,
  77.                   -102.969894,
  78.                   -36.691547,
  79.                   -10.04752,
  80.                   1.024357,
  81.                   0.267683,
  82.                   0.91545,
  83.                   0.300495,
  84.                   0.014248,
  85.                   14.234406,
  86.                   70.184082,
  87.                   1],
  88.                   "hasThumbnail": "false",
  89.                   "messages": [{
  90.                       "type": "info",
  91.                       "code": "111",
  92.                       "message": "default camera settings"
  93.                   }],
  94.                   "name": "lastCamera view",
  95.                   "progress": "30%",
  96.                   "role": "3d",
  97.                   "status": "Pending"
  98.               },
  99.               {
  100.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff33",
  101.                   "type": "resource",
  102.                   "hasThumbnail": "true",
  103.                   "mime": "application/autodesk-fysc",
  104.                   "progress": "30%",
  105.                   "role": "graphics",
  106.                   "status": "Pending",
  107.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.fysc"
  108.               },
  109.               {
  110.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff60",
  111.                   "type": "resource",
  112.                   "hasThumbnail": "true",
  113.                   "mime": "application/autodesk-svf",
  114.                   "progress": "20%",
  115.                   "role": "graphics",
  116.                   "status": "Pending",
  117.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.svf"
  118.               }]
  119.           },
  120.           {
  121.               "guid": "067e6162-3b6f-4ae2-a171-2470b63dff65",
  122.               "type": "geometry",
  123.               "hasThumbnail": "true",
  124.               "name": "This is a 2d sheet",
  125.               "progress": "20%",
  126.               "role": "2d",
  127.               "status": "Pending",
  128.               "children": [{
  129.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff66",
  130.                   "type": "view",
  131.                   "hasThumbnail": "false",
  132.                   "name": "zoom",
  133.                   "role": "2d",
  134.                   "viewbox": [-109.20826,
  135.                   45.292778,
  136.                   -102.969894,
  137.                   -36.691547]
  138.               },
  139.               {
  140.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff67",
  141.                   "type": "resource",
  142.                   "hasThumbnail": "true",
  143.                   "mime": "application/autodesk-fydo",
  144.                   "progress": "20%",
  145.                   "role": "graphics",
  146.                   "status": "Pending",
  147.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0.fydo"
  148.               },
  149.               {
  150.                   "guid": "067e6162-3b6f-4ae2-a171-2470b63dff72",
  151.                   "type": "resource",
  152.                   "hasThumbnail": "true",
  153.                   "mime": "application/autodesk-svg",
  154.                   "progress": "20%",
  155.                   "role": "graphics",
  156.                   "status": "Pending",
  157.                   "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/2/0.svg"
  158.               }]
  159.           }]
  160.       },
  161.       {
  162.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff77",
  163.           "type": "resource",
  164.           "mime": "application/autodesk-db",
  165.           "name": "property db",
  166.           "progress": "Complete",
  167.           "role": "Autodesk.CloudPlatform.PropertyDatabase",
  168.           "status": "Success",
  169.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/section_properties.db"
  170.       }]
  171.   }

Еще пример запроса:

Код - XML: [Выделить]
  1. GET    /viewingservice/v1/dXJuOmFkc2suczM2Y=/status?guid=067e6162-3b6f-4ae2-a171-2470b63dff12 HTTP/1.1

И ответа:

Код - XML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json
  3.   {
  4.       "guid": "067e6162-3b6f-4ae2-a171-2470b63dff12",
  5.       "type": "geometry",
  6.       "name": "This is a 3d sheet",
  7.       "progress": "30%",
  8.       "role": "3d",
  9.       "status": "Pending",
  10.       "hasThumbnail": "true",
  11.       "children": [{
  12.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff22",
  13.           "type": "view",
  14.           "camera": [-109.20826,
  15.           45.292778,
  16.           -102.969894,
  17.           -36.691547,
  18.           -10.04752,
  19.           1.024357,
  20.           0.267683,
  21.           0.91545,
  22.           0.300495,
  23.           0.014248,
  24.           14.234406,
  25.           70.184082,
  26.           1],
  27.           "hasThumbnail": "false",
  28.           "messages": [{
  29.               "type": "info",
  30.               "code": "111",
  31.               "message": "default camera settings"
  32.           }],
  33.           "name": "lastCamera view",
  34.           "progress": "30%",
  35.           "role": "3d",
  36.           "status": "Pending"
  37.       },
  38.       {
  39.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff33",
  40.           "type": "resource",
  41.           "hasThumbnail": "true",
  42.           "mime": "application/autodesk-fysc",
  43.           "progress": "30%",
  44.           "role": "graphics",
  45.           "status": "Pending",
  46.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.fysc"
  47.       },
  48.       {
  49.           "guid": "067e6162-3b6f-4ae2-a171-2470b63dff60",
  50.           "type": "resource",
  51.           "hasThumbnail": "true",
  52.           "mime": "application/autodesk-svf",
  53.           "progress": "20%",
  54.           "role": "graphics",
  55.           "status": "Pending",
  56.           "urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2suczM6pY2UvYXBpL3NhbXBsZS5kd2Y=/output/1/0.svf"
  57.       }]
  58.   }

Параметры запроса:

  • urn – обязательный. Закодированный в Base64 исходный URN
  • guid – не обязательный. Идентификатор подмножества объекта для просмотра.

Статусы:

  • 200 – OK. Объект найден. Информация по нему возвращена.
  • 400 – не верный запрос. Например, формат URN неправильный
  • 404 – не найден. По заданному URN объект не найден
  • 500 – Внутренняя ошибка сервера. На сервере произошла непредвиденная ошибка.

 

Источник: https://developer.autodesk.com/api/view-and-data-api/#viewing-service

Автор перевода: Виктор Чекалин

Обсуждение: http://adn-cis.org/forum/index.php?topic=2867

Опубликовано 19.07.2015
Отредактировано 20.07.2015 в 10:29:42