{"id":123155,"date":"2024-02-20T10:45:00","date_gmt":"2024-02-20T01:45:00","guid":{"rendered":"https:\/\/support.questetra.com\/?p=123155"},"modified":"2024-02-20T11:00:53","modified_gmt":"2024-02-20T02:00:53","slug":"service-task-box-file-representation-download","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-box-file-representation-download\/","title":{"rendered":"Box: Download File as PDF\/Text\/Image"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"58\" data-attachment-id=\"113160\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/how-to-use-timer-start-event\/attachment\/advanced-banner-new-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?fit=1200%2C68&amp;ssl=1\" data-orig-size=\"1200,68\" data-comments-opened=\"0\" data-image-title=\"advanced-banner-new-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?fit=1024%2C58&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en-1024x58.png?resize=1024%2C58&#038;ssl=1\" alt=\"\" class=\"wp-image-113160\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=1024%2C58&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=600%2C34&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=768%2C44&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?w=1200&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-border-color has-product-main-border-color has-white-color has-product-main-background-color has-text-color has-background has-link-color\" style=\"border-width:2px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)\"><strong>Box: Download File as PDF\/Text\/Image<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-right has-border-color has-product-main-border-color has-white-color has-product-main-background-color has-text-color has-background has-link-color has-small-font-size mt-0 pt-0 wp-block-paragraph\" style=\"border-width:2px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0;padding-left:var(--wp--preset--spacing--20)\"><a href=\" https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-box-file-representation-download\/ \">Box: \u30d5\u30a1\u30a4\u30eb\u3092 PDF\/\u30c6\u30ad\u30b9\u30c8\/\u753b\u50cf\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/a><\/p>\n\n\n\n<p class=\"has-border-color has-product-main-border-color has-text-color has-white-background-color has-background has-link-color mt-0 pt-0 wp-block-paragraph\" style=\"border-width:2px;margin-top:0;margin-right:0;margin-bottom:var(--wp--preset--spacing--30);margin-left:0;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">This item downloads the specified file on Box in the specified file format.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright has-custom-border is-style-default\"><img decoding=\"async\" src=\"data:image;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEBElEQVRYR82Xb2jbRRjHP\/fL2jXJ\n        0qSd65x11aK0YgJWZUwEWZ0DfSNaHYKKmgykbP7pH\/SVghvCkIlb6kREwfyGOougbgxB2Yt1oGwg\n        aietdOJoV21ty2ob26xdm+TkLsufJr+2Sdtt3pv8uDx3z+ee+z53zwmucRMF+ff\/9ijEtwB1IDwI\n        9QtIOkGOA50I0UHIezTfeRcH8Pd64GITyGaE8OQ1sVQwIgiONsxqBTZvWxjA3+UHDuTtONuNBjEC\n        mLcfmY9gfgB\/dxBBU14rXsxIyiCmr8XKzBog0GWCeG6xeQv6X2JiegPZY3IBVnLlOVtCG6a3ObN7\n        LoDacyFCBa2sUGMpGjI1kQbQao\/0Lllw+YJoYTqrk9mRAdC9G8Eb+c6zLDvJHkzvbjVHGiDQpXLX\n        nZw4tOMGyp02Hjn457J8WQ5WUTB9ZWkAdcIJ+XWm8XCwFkexwLWrZ+UB9OmZ0EIiAhbKH2lLAKzZ\n        eaUAEhmRAAh0dYBQZ3yqKQDnaoPDp8PUVZXo\/pM9EV75Ylh\/77q\/jO2bSlmz2mBgLErjoUHad95I\n        Z\/80re0Jmw+e3UD1dcU8uP+8RRTlSUK++ssA3X3ATdkA61y2nIE\/9k7Rd2GWx+4uxWZkAP8bo9Ru\n        YAho+XyIUruNNxsqiMzE8bxgEUV1gZneO5MAMtuTioACUM7e+W4Uj8Pg5W1rdV9cwvSsxPx+nNPn\n        LvLStnI2VdsZi8TwOGyMTsY0nNth493j\/9DSPmSto5BXLAigsmDLW7388MeUnuDVh9ay74n1+vvI\n        zxM0vJfOkNGDtdiLDH7pn+beW+3a5kRPhK37rMJ\/mScDIGcLBvfXsM61isrWs4xMxPSIpza7+ayx\n        Un8rbTz94UBqZX8fqNFp+82vkzTc5dL9n54K88xHaZu5YZBnCPnq5hXhqdequecWO2rPH3j7PBvc\n        qzjWVEXN9cV6HhVmJbwvf5rgcGMlT2526y1wldiYiUl9wKhtUHp4\/8TYIiK0SMP6WgdfvbiRMqeN\n        yKU4NkNQUiToH51lcDyq4aIxtMjcdoOpGYkSkrJpOz6qt6OxvowLkzEqms7mAsjMNLQ4iNSIrbc5\n        2bu9QqdSNC7pHrjEjo8H+GssyifPV3JfjQNHscFQOMqeoyPsfXw9vw\/P8HBbv3b4bWsVG8uL8L5+\n        zgIg8yBSf2cdxdayXaleGSbk0+Xd\/+gyUtexiPRlXkgrtd4s9YeRzptzr2NldU0LkiTmlS3JUnVA\n        0t3VK0qRhwj5VJk\/p12lsjxdAeUPoDWhCpW4KtFTlVJhwpRhpOFf2sMkpQn9NGtGyOb8QZRj\/TQL\n        Lu9plr1c\/TiV9QipHqUeEHckTOQZYBwpOkF0LLTiwragsHgvyfo\/g3CBMFgjn40AAAAASUVORK5C\n        YII=\n    \" alt=\"Auto Step icon\" class=\"has-border-color has-ast-global-color-4-border-color\" style=\"border-width:0.5em\"\/><\/figure>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Basic Configs<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">Step Name<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">Note<\/dd>\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Configs for this Auto Step<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_OAuth2<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C1: OAuth2 Setting<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_FileId<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C2: File ID to download<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_Representation<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C3: File Format in which to download the file<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_FileName<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C4: File Name (named with the file name on Box if blank)<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_Files<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C5: File type data item to add the downloaded file<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\">conf_urlTemplate<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C6: Data item to store temporary data required for download<span style=\"color:#990000;\"> *<\/span><\/dd>\n\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The refresh token for Box has an expiration date. Use regularly to ensure that it does not exceed the expiration.<\/li>\n\n\n\n<li>This item uses Box file representation API. For supported file types, see the <a rel=\"noreferrer noopener\" href=\"https:\/\/developer.box.com\/guides\/representations\/supported-file-types\/\" target=\"_blank\">Box Developer Documentation<\/a>.<\/li>\n\n\n\n<li>For some file formats like JPEG (2048&#215;2048), PNG (1024&#215;1024) and PNG (2048&#215;2048), each page of the original file will be downloaded as a separate file. The downloaded files will have a page number attached at the beginning of their file names.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"margin-top:var(--wp--preset--spacing--30)\"><span>Capture<\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large has-custom-border is-style-rounded is-style-rounded--1\"><img data-recalc-dims=\"1\" height=\"630\" width=\"716\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/04\/box-file-representation-download-en-1.jpg?resize=716%2C630&#038;ssl=1\" alt=\"\" class=\"has-border-color wp-image-157859\" style=\"border-color:#009900;border-width:3px;border-radius:9px\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-box-file-link-create\/\"><\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/intermediate-error-catch-event-boundary-type\/\" target=\"_blank\">Intermediate Error Catch Event (Boundary Type)<\/a><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details><summary class=\"wp-block-coblocks-accordion-item__title\">Script (click to open)<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<ul class=\"wp-block-list\">\n<li>An XML file that contains the code below is available to download\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/raw.githubusercontent.com\/Questetra\/Addon-XML\/release-2024-01-16\/box-file-representation-download.xml\" target=\"_blank\" rel=\"noreferrer noopener\">box-file-representation-download.xml<\/a> (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>If you are using Professional, you can modify the contents of this file and use it as your own add-on auto step<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\nconst PATH_VARIABLE = &quot;{+asset_path}&quot;;\n\nfunction main() {\n    const oauth2 = configs.getObject(&quot;conf_OAuth2&quot;);\n    const fileId = decideFileId();\n    const representation = configs.get(&apos;conf_Representation&apos;);\n    const fileName = configs.get(&apos;conf_FileName&apos;);\n    const fileDef = configs.getObject(&quot;conf_Files&quot;);\n\n    const {urlTemplate, paged} = getRepresentationInfo(oauth2, fileId, representation);\n    let url;\n    if (paged !== &apos;true&apos;) { \/\/ \u30da\u30fc\u30b8\u5206\u5272\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\n        url = urlTemplate.replace(PATH_VARIABLE, &apos;&apos;);\n    } else {\n        url = urlTemplate;\n    }\n\n    \/\/ \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u307f\u3066\u3001\u30c0\u30e1\u3060\u3063\u305f\u3089 proceed() \u306b\u9032\u3080\n    if (downloadAndSaveFiles(oauth2, url, representation, fileName, fileDef) === false) {\n        \/\/ url \u3092\u4e00\u6642\u30c7\u30fc\u30bf\u3068\u3057\u3066\u4fdd\u5b58\n        engine.saveTemporaryData(url);\n        return false;\n    }\n}\n\nfunction proceed() {\n    const oauth2 = configs.getObject(&quot;conf_OAuth2&quot;);\n    const representation = configs.get(&apos;conf_Representation&apos;);\n    const fileName = configs.get(&apos;conf_FileName&apos;);\n    const fileDef = configs.getObject(&quot;conf_Files&quot;);\n\n    const url = engine.restoreTemporaryData();\n    if (url === null) {\n        throw &apos;download url has not been saved&apos;;\n    }\n\n    if (downloadAndSaveFiles(oauth2, url, representation, fileName, fileDef) === false) {\n        return false;\n    }\n}\n\n\/**\n * \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u30d5\u30a1\u30a4\u30eb\u578b\u30c7\u30fc\u30bf\u9805\u76ee\u306b\u4fdd\u5b58\u3002\n * \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210\u4e2d\u306e\u5834\u5408\u306f\u3001false \u3092\u8fd4\u3059\n * @param {AuthSettingWrapper} oauth2  OAuth2 \u8a8d\u8a3c\u8a2d\u5b9a\n * @param url\n * @param representation\n * @param fileName\n * @param fileDef\n * @returns {boolean}\n *\/\nfunction downloadAndSaveFiles(oauth2, url, representation, fileName, fileDef) {\n    let qfiles;\n    if (url.includes(PATH_VARIABLE)) {\n        \/\/ \u30da\u30fc\u30b8\u5272\u3055\u308c\u3066\u3044\u308b\u5834\u5408\n        qfiles = downloadPages(oauth2, url, representation, fileName);\n    } else {\n        \/\/ \u30da\u30fc\u30b8\u5272\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\n        qfiles = download(oauth2, url, representation, fileName);\n    }\n    if (qfiles === false) {\n        return false;\n    }\n    saveFiles(fileDef, qfiles);\n}\n\n\/**\n * \u30d5\u30a1\u30a4\u30eb ID \u3092 config \u304b\u3089\u8aad\u307f\u51fa\u3059\n * @return {String} fileId \u30d5\u30a1\u30a4\u30eb ID\n *\/\nfunction decideFileId() {\n    const fileId = engine.findData(configs.getObject(&apos;conf_FileId&apos;));\n    if (fileId === &apos;&apos; || fileId === null) {\n        throw &apos;File ID is blank.&apos;;\n    }\n    return fileId;\n}\n\n\/**\n * \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\n * @param {AuthSettingWrapper} oauth2  OAuth2 \u8a8d\u8a3c\u8a2d\u5b9a\n * @param {String} fileId \u30d5\u30a1\u30a4\u30eb ID\n * @param {String} representation \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\n * @return {Object} representationInfo\n * @return {String} representationInfo.urlTemplate \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u969b\u306e URL \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\n * @return {String|undefined} representationInfo.paged \u30da\u30fc\u30b8\u5272\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\n *\/\nfunction getRepresentationInfo(oauth2, fileId, representation) {\n    const url = `https:\/\/api.box.com\/2.0\/files\/${encodeURIComponent(fileId)}`;\n    const response = httpClient.begin()\n        .authSetting(oauth2)\n        .queryParam(&apos;fields&apos;, &apos;representations&apos;)\n        .header(&apos;X-REP-HINTS&apos;, representation)\n        .get(url);\n    const status = response.getStatusCode();\n    const responseStr = response.getResponseAsString();\n    if (status !== 200) {\n        engine.log(responseStr);\n        throw `Failed to get representations. status:${status}`;\n    }\n    const {entries} = JSON.parse(responseStr).representations;\n    if (entries.length === 0) {\n        throw `The ${representation} representation is unavailable for this file.`;\n    }\n    const urlTemplate = entries[0].content.url_template;\n    const paged = entries[0].properties.paged; \/\/ &quot;true&quot;, &quot;false&quot; or undefined\n    return {urlTemplate, paged};\n}\n\n\/**\n * \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\n * \u30da\u30fc\u30b8\u5272\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\n * @param {AuthSettingWrapper} oauth2  OAuth2 \u8a8d\u8a3c\u8a2d\u5b9a\n * @param {String} url URL\n * @param {String} representation \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\n * @param {String} fileName \u30d5\u30a1\u30a4\u30eb\u540d\n * @return {Array&lt;NewQfile&gt;} qfiles \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3057\u305f\u914d\u5217\n *\/\nfunction download(oauth2, url, representation, fileName) {\n    engine.log(`url: ${url}`);\n    const response = httpClient.begin()\n        .authSetting(oauth2)\n        .queryParam(&apos;set_content_disposition_type&apos;, &apos;attachment&apos;)\n        .get(url);\n    const status = response.getStatusCode();\n    if (status === 202) { \/\/ \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210\u4e2d\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u306a\u3044\n        const retryAfter = response.getHeaderValues(&apos;Retry-After&apos;);\n        engine.log(`Retry-After: ${retryAfter !== null &amp;&amp; retryAfter.size() &gt; 0 ? retryAfter.get(0) : &quot;&quot;}`);\n        return false;\n    }\n    if (status !== 200) { \/\/ \u305d\u306e\u4ed6\u306e\u30a8\u30e9\u30fc\n        engine.log(response.getResponseAsString());\n        throw `Failed to download the representation ${representation}. status:${status}`;\n    }\n    const contentType = response.getContentType();\n    const content = response.getResponse();\n    const fileNameToSet = decideFileNameToSet(fileName, response);\n    const qfile = new com.questetra.bpms.core.event.scripttask.NewQfile(\n        fileNameToSet, contentType, content\n    );\n    return [qfile];\n}\n\n\/**\n * \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\n * \u30da\u30fc\u30b8\u5272\u3055\u308c\u3066\u3044\u308b\u5834\u5408\n * @param {AuthSettingWrapper} oauth2  OAuth2 \u8a8d\u8a3c\u8a2d\u5b9a\n * @param {String} urlTemplate URL \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\n * @param {String} representation \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\n * @param {String} fileName \u30d5\u30a1\u30a4\u30eb\u540d\n * @return {Array&lt;NewQfile&gt;} qfiles \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3057\u305f\u914d\u5217\n *\/\nfunction downloadPages(oauth2, urlTemplate, representation, fileName) {\n    const extension = representation.substring(1, 4); \/\/ jpg or png\n    const qfiles = [];\n    const httpLimit = httpClient.getRequestingLimit();\n    for (let pageNum = 1; ; pageNum++) {\n        if (pageNum &gt; httpLimit) {\n            throw &apos;Number of necessary HTTP requests exceeds the limit.&apos;;\n        }\n        const url = urlTemplate.replace(&apos;{+asset_path}&apos;, `${pageNum}.${extension}`);\n        engine.log(`url: ${url}`);\n        const response = httpClient.begin()\n            .authSetting(oauth2)\n            .queryParam(&apos;set_content_disposition_type&apos;, &apos;attachment&apos;)\n            .get(url);\n        const status = response.getStatusCode();\n        if (pageNum === 1 &amp;&amp; status === 202) { \/\/ \u30ec\u30d7\u30ea\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210\u4e2d\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u306a\u3044\n            const retryAfter = response.getHeaderValues(&apos;Retry-After&apos;);\n            engine.log(`Retry-After: ${retryAfter !== null &amp;&amp; retryAfter.size() &gt; 0 ? retryAfter.get(0) : &quot;&quot;}`);\n            return false;\n        }\n        if (pageNum &gt; 1 &amp;&amp; status === 404) { \/\/ \u30da\u30fc\u30b8\u3092\u6700\u5f8c\u307e\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u3002\u30eb\u30fc\u30d7\u304b\u3089\u629c\u3051\u308b\n            break;\n        }\n        if (status !== 200) { \/\/ \u305d\u306e\u4ed6\u306e\u30a8\u30e9\u30fc\n            engine.log(response.getResponseAsString());\n            throw `Failed to download the page ${pageNum} of the representation ${representation}. status:${status}`;\n        }\n        const contentType = response.getContentType();\n        const content = response.getResponse();\n        let fileNameToSet = decideFileNameToSet(fileName, response);\n        fileNameToSet = `${pageNum}-${fileNameToSet}`; \/\/ \u30d5\u30a1\u30a4\u30eb\u540d\u306b\u30da\u30fc\u30b8\u756a\u53f7\u3092\u8ffd\u52a0\n        const qfile = new com.questetra.bpms.core.event.scripttask.NewQfile(\n            fileNameToSet, contentType, content\n        );\n        qfiles.push(qfile);\n    }\n    return qfiles;\n}\n\n\/**\n * \u4fdd\u5b58\u6642\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6c7a\u5b9a\u3059\u308b\n * @param {String} fileName \u65b0\u3057\u304f\u540d\u524d\u3092\u3064\u3051\u308b\u5834\u5408\u306e\u30d5\u30a1\u30a4\u30eb\u540d\n * @param {HttpResponseWrapper} response \u30d5\u30a1\u30a4\u30eb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\n * @return {String} fileNameToSet \u8a2d\u5b9a\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u540d\n *\/\nfunction decideFileNameToSet(fileName, response) {\n    if (fileName !== &apos;&apos; &amp;&amp; fileName !== null) {\n        return fileName;\n    }\n    \/\/ \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u30ec\u30b9\u30dd\u30f3\u30b9\u306e Content-Disposition \u30d8\u30c3\u30c0\u304b\u3089\u53d6\u5f97\u3059\u308b\n    const contentDisposition = response.getHeaderValues(&apos;Content-Disposition&apos;)[0];\n    const matched = contentDisposition.match(\/filename\\*=UTF-8&apos;&apos;(.+)\/);\n    return decodeURI(matched[1]);\n}\n\n\/**\n * \u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u4fdd\u5b58\u3059\u308b\n * @param {ProcessDataDefinitionView} fileDef \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\n * @param {Array&lt;NewQfile&gt;} qfiles \u8ffd\u52a0\u4fdd\u5b58\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3057\u305f\u914d\u5217\n *\/\nfunction saveFiles(fileDef, qfiles) {\n    let files = engine.findData(fileDef);\n    if (files === null) {\n        files = new java.util.ArrayList();\n    }\n    qfiles.forEach(qfile =&gt; {\n        files.add(qfile);\n    });\n    engine.setData(fileDef, files);\n}\n    <\/code><\/pre><\/div>\n<\/div><\/details><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This item downloads the specified file on Box in the specified file format.<\/p>\n","protected":false},"author":17,"featured_media":110854,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[550],"tags":[421],"faq_section":[],"class_list":["post-123155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bpmn-icons","tag-box-api"],"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"Shiho Tatsumi","author_link":"https:\/\/support.questetra.com\/en\/author\/tatsumi48c607ec82\/"},"uagb_comment_info":0,"uagb_excerpt":"This item downloads the specified file on Box in the specified file format.","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-w2n","jetpack-related-posts":[{"id":88561,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/box-file-copy\/","url_meta":{"origin":123155,"position":0},"title":"Box: Copy File","author":"Shiho Tatsumi","date":"2024-02-20","format":false,"excerpt":"This item copies the File and saves it in the specified Folder.","rel":"","context":"In &quot;BPMN\u30a2\u30a4\u30b3\u30f3&quot;","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":83104,"url":"https:\/\/support.questetra.com\/en\/system-settings\/app-shared-add-on\/","url_meta":{"origin":123155,"position":1},"title":"System Settings &#8211; App-shared Add-on","author":"Peter Glover","date":"2020-03-11","format":false,"excerpt":"Uploaded data can be stored and then referred to by multiple Apps.","rel":"","context":"In &quot;System Settings&quot;","block_context":{"text":"System Settings","link":"https:\/\/support.questetra.com\/en\/category\/system-settings\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/Gear_upload-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/Gear_upload-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/Gear_upload-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/Gear_upload-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/Gear_upload-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":75346,"url":"https:\/\/support.questetra.com\/en\/templates\/online-estimate-storage-flow-20161011\/","url_meta":{"origin":123155,"position":2},"title":"Online Estimate Storage Flow","author":"Hirotaka NISHI","date":"2022-12-21","format":false,"excerpt":"Stores quotation PDF automatically to share. A quotation PDF is automatically generated after the submittee, details and total amount are entered at the Task of \"Drafting Quotation\". After the quotation is submitted, the quotation which succeeded in the contract is automatically uploaded to the Dropbox folder.","rel":"","context":"In &quot;Workflow Apps&quot;","block_context":{"text":"Workflow Apps","link":"https:\/\/support.questetra.com\/en\/category\/templates\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-online-estimate-storage-flow-20161011-218-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-online-estimate-storage-flow-20161011-218-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-online-estimate-storage-flow-20161011-218-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-online-estimate-storage-flow-20161011-218-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-online-estimate-storage-flow-20161011-218-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":77425,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/box-folder-create\/","url_meta":{"origin":123155,"position":3},"title":"Box: Create Folder","author":"Shiho Tatsumi","date":"2024-02-20","format":false,"excerpt":"This item creates a new folder in the specified folder on Box, and saves the folder ID and URL. When there is a folder with the same name, this item saves that folder ID and URL.","rel":"","context":"In &quot;BPMN\u30a2\u30a4\u30b3\u30f3&quot;","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":78564,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/box-folder-link-create\/","url_meta":{"origin":123155,"position":4},"title":"Box: Create Shared Link to Folder","author":"Shiho Tatsumi","date":"2024-01-30","format":false,"excerpt":"This item creates a URL to access the specified folder on Box. If no expiration date is specified, the URL will be created indefinitely. If no password is specified, the URL will be created without requiring a password.","rel":"","context":"In &quot;BPMN\u30a2\u30a4\u30b3\u30f3&quot;","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":72184,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/box-webhook\/","url_meta":{"origin":123155,"position":5},"title":"Monitoring Uploads to Folders Using Box Webhook","author":"Hirotaka NISHI","date":"2018-11-28","format":false,"excerpt":"Introducing three items concerning Box Webhook. Utilizing those three items, I will create an App sample that monitors uploads to the specified folder.","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/box-wehbook-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/box-wehbook-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/box-wehbook-1200x675-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/box-wehbook-1200x675-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/box-wehbook-1200x675-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/02\/bpmn-icon-service-task-box.png?fit=1200%2C675&ssl=1","_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/123155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=123155"}],"version-history":[{"count":21,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/123155\/revisions"}],"predecessor-version":[{"id":158207,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/123155\/revisions\/158207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/110854"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=123155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=123155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=123155"},{"taxonomy":"faq_section","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/faq_section?post=123155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}