{"info":{"_postman_id":"89deac6e-5fae-40ad-8aba-45240e8c9006","name":"DaXtra Parser Integrations","description":"<html><head></head><body><blockquote>\n<p>DaXtra Parser converts free form resumes and job orders (vacancies) in various file formats (DOC, DOCX, RTF, PDF, HTML, etc.) into a structured <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">XML</a> or <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">JSON</a> representation.</p>\n</blockquote>\n<p>DaXtra Parser is architected to run as a cloud or as an in-house service - using <a href=\"https://soap-api-doc.daxtra.com/#intro\">SOAP API</a>, <a href=\"https://rest-api-doc.daxtra.com/#intro\">REST API</a> or pre-built language-specific <strong>Integration packages</strong> which abstract over the integration layer of <strong>REST</strong> or <strong>SOAP</strong>.</p>\n<p><em><strong>Please note:</strong> DaXtra Parser supports authentication through the use of <a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">Secure Token</a>.</em></p>\n<h2 id=\"integration-samples-for-various-programming-languages\">Integration samples for various programming languages</h2>\n<ul>\n<li>Language-specific <a href=\"#81fa5055-167f-43e2-8ff6-ba4915d14d3c\">Integration packages</a><ul>\n<li><a href=\"#0deb7fca-8cba-46f8-ac9f-fa4b6101ca62\">.Net</a> (C#, VB.NET)</li>\n<li><a href=\"#6c402ec1-ac30-43ad-8ce2-f23bcab85dcd\">Java</a></li>\n</ul>\n</li>\n<li>Integrations using <a href=\"#ff8ad57e-9806-4426-a37c-936aaf736c19\">REST API</a><ul>\n<li><a href=\"#48ba714e-427a-4a8e-a61d-ad64bf6ad7a3\">JavaScript</a></li>\n<li><a href=\"#24d4ea37-c6bc-4ef2-9e0e-2a1fde808c0a\">VB6</a></li>\n<li><a href=\"#a9016229-b268-4a71-bc65-132fbce567ea\">Perl</a></li>\n</ul>\n</li>\n<li>Integrations using <a href=\"#47af2a2d-927d-4b44-b7a3-591c7dc62bb5\">SOAP API</a><ul>\n<li><a href=\"#609dc10e-0d5c-4593-ba9e-ab6d2b903abc\">PHP</a></li>\n<li><a href=\"#4c822ab3-7929-472c-bf60-5a697ce304d0\">Ruby</a></li>\n<li><a href=\"#aa0f82f2-c29b-4eb2-b0cd-0c858a011042\">Perl</a></li>\n<li><a href=\"#6af667be-2694-41be-85fb-313685b6e8bc\">Python</a></li>\n</ul>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"6024079","collectionId":"89deac6e-5fae-40ad-8aba-45240e8c9006","publishedId":"S11PrGt4","public":true,"customColor":{"top-bar":"DDDDDD","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2023-03-28T16:21:49.000Z"},"item":[{"name":"API calls","item":[],"id":"2858943a-5dd4-4c46-999d-84ce49d2e96b","description":"<ul>\n<li>Sends a resume for processing and receives back a string with structured XML/JSON representation.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/profile/full/json (POST) or /profile/full/xml (POST)</td>\n<td>ProcessCV</td>\n<td>ProcessCV</td>\n<td>ProcessCV</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>In the first phase extract only personal and contact data, which is in general 50% faster than extraction of the full profile. Together with a personal and contact profile it returns a phase2_token which can be used to fetch the full profile.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/profile/personal/json (POST) or /profile/personal/xml (POST)</td>\n<td>ProcessCVphase1</td>\n<td>ProcessCVphase1</td>\n<td>ProcessCVphase1</td>\n</tr>\n<tr>\n<td>/data (GET)</td>\n<td>ProcessCVphase2</td>\n<td>ProcessCVphase2</td>\n<td>ProcessCVphase2</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Sends multiple documents (usually archived) to a DaXtra server. Then through consecutive calls it retrieves processing results until processing is finished.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/profile/batch/json (POST) or /profile/batch/xml (POST)</td>\n<td>ProcessBatch</td>\n<td>ProcessBatch</td>\n<td>ProcessBatch</td>\n</tr>\n<tr>\n<td>/data (GET)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Sends a job order for processing and receives back a string with structured XML/JSON representation.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/joborder/json (POST) or /joborder/xml (POST)</td>\n<td>ProcessJobOrder</td>\n<td>ProcessJobOrder</td>\n<td>ProcessJobOrder</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Restyles a resume into house style as specified by a DOCX template.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/styler (POST)</td>\n<td>ReformatCV</td>\n<td>ReformatCV</td>\n<td>ReformatCV</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Uploads house-style DOCX template to the DaXtra server.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/styler/template (POST)</td>\n<td>InstallStylerTemplate</td>\n<td>InstallStylerTemplate</td>\n<td>InstallStylerTemplate</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Retrieves house-style DOCX template from DaXtra server.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/styler/template (GET)</td>\n<td>RetrieveStylerTemplate</td>\n<td>RetrieveStylerTemplate</td>\n<td>RetrieveStylerTemplate</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Converts a document from one format such as DOC, DOCX, PDF, RTF, to another such as DOCX, HTML, TXT, PDF. Can be requested to convert in higher quality but slower.</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>REST</th>\n<th>SOAP</th>\n<th>.Net</th>\n<th>Java</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/convert2html (POST)</td>\n<td>Convert</td>\n<td>Convert</td>\n<td>Convert</td>\n</tr>\n<tr>\n<td>/convert2html_q (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2docx (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2docx_q (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2pdf (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2pdf_q (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2rtf (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2rtf_q (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2txt (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>/convert2txt_q (POST)</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><em><strong>Please note:</strong> \"_q\" calls convert with extra quality (slower).</em></p>\n","_postman_id":"2858943a-5dd4-4c46-999d-84ce49d2e96b"},{"name":"Language-specific Integration packages","item":[{"name":".Net","item":[{"name":".Net API","item":[],"id":"a74ff53e-a2cf-40f1-a182-c72e60fc6a76","description":"<blockquote>\n<p>You can execute the following calls in the CVXtractorService package</p>\n</blockquote>\n<div class=\"begin-examples\"></div>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-C#\">/* CVXtractorService package calls */\n\npublic CVXtractorService(string service_url,\n                         string service_account,\n                         bool json_out)\n\npublic void setTimeout(int milliseconds)\n\npublic string getLastError()\n\npublic string ProcessCV(string file_to_process)\n\npublic string ProcessCV(byte [] file_content)\n\npublic string ProcessCVphase1(string file_to_process)\n\npublic string ProcessCVphase1(byte [] file_content)\n\npublic string ProcessCVphase2()\n\npublic string getPhase2Token() \n\npublic string ProcessJobOrder(string file_to_process)\n\npublic string ProcessJobOrder(byte [] file_content)\n\npublic string Convert(string file_to_process, string to)\n\npublic string Convert(byte [] file_content, string to)\n\nvoid waitToFinish(string async_call_id)\n\nvoid notWaitToFinish(string async_call_id)\n</code></pre>\n<div class=\"end-examples\"></div>\n\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><strong>file_content</strong> -- <code>byte array</code> -- content of a file you want to process</li>\n<li><strong>to</strong> -- <code>string</code> -- one of: html, html_q, docx, docx_q, pdf, pdf_q, rtf, rtf_q, txt, txt_q</li>\n</ul>\n<p><em><strong>Please note:</strong> Convert calls with \"_q\" in <strong>to</strong> parameter convert with extra quality (slower).</em></p>\n","_postman_id":"a74ff53e-a2cf-40f1-a182-c72e60fc6a76"},{"name":"ProcessCV","item":[],"id":"e21c1b59-9b7f-45bc-8c7f-7a22cd5617c1","description":"<blockquote>\n<p>Below is sample code for processing a resume</p>\n</blockquote>\n<h6 id=\"c-sharp\">C SHARP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-c\">/* Sample code for processing a resume */\n\nDaxtraServices.CVXtractorService CVX_Service = \n    new DaxtraServices.CVXtractorService(service_url, service_account, json_out);\nstring hrxml_profile = CVX_Service.ProcessCV(file_to_process);\n\n/* Serializing to JSON */\n\ndynamic json_profile = Newtonsoft.Json.JsonConvert.DeserializeObject(hrxml_profile);\nstring FormattedName = json_profile[\"Resume\"][\"StructuredResume\"][\"PersonName\"][\"FormattedName\"];\n</code></pre>\n<h6 id=\"vbnet\">VB.NET</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-visual basic\">' Sample code for processing a resume\n\nDim CVX_Service As New DaxtraServices.CVXtractorService(service_url, service_account, json_out)\nDim hrxml_profile As String = CVX_Service.ProcessCV(file_to_process)\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"e21c1b59-9b7f-45bc-8c7f-7a22cd5617c1"},{"name":"Async mode","item":[],"id":"2b0129cc-d163-444f-b6a8-44ae7f9cf632","description":"<blockquote>\n<p>You can call CVXtractorService in an <strong>async mode</strong> by supplying an <code>on completion</code> event handler</p>\n</blockquote>\n<h6 id=\"c-sharp\">C SHARP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-C#\">//- Sample code to call CVXtractorService in an async mode\n\nCVX_Service.onProcessingFinished += processingFinishedHandler;\n\n//- 5 seconds timeout:\nCVX_Service.setTimeout(5000); \n\n//- instead of hrxml_profile the calls will return an async call id:\nstring async_call_id = CVX_Service.ProcessCV(file_to_process);\n\n//- error handling:\nif (async_call_id == null || async_call_id == \"\") \n{\n    Console.Out.WriteLine( CVX_Service.getLastError() );\n} else\n{\n    //-- you can wait for your call to complete:\n    CVX_Service.waitToFinish(async_call_id);      \n\n    //-- otherwise do this:\n    //CVX_Service.notWaitToFinish(async_call_id);\n}\n\nvoid processingFinishedHandler(Object sender, DaxtraServices.ProcessingFinishedEventArgs e)\n{\n    Console.Out.WriteLine(\"Received results from call \" + e.async_call_id);  \n    if (e.error==null)\n        Console.Out.WriteLine(e.result);\n    else Console.Out.WriteLine(e.error);\n}\n</code></pre>\n","_postman_id":"2b0129cc-d163-444f-b6a8-44ae7f9cf632"},{"name":"ProcessCVphase1 and ProcessCVphase2","item":[],"id":"544c1506-d4cf-4e7b-8972-90a66ee7bc6f","description":"<blockquote>\n<p>You can also execute a <strong>two-phased call</strong>. </p>\n<p>Unlike <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a>, a <strong>ProcessCVphase1</strong> call extracts only personal and contact data (which is about 50% faster) and at the same time extraction of the full profile is initiated. </p>\n<p>This full profile can subsequently be retrieved through a <strong>ProcessCVphase2</strong> call. </p>\n</blockquote>\n<p><em><strong>Pleqase note:</strong> The <strong>ProcessCVphase2</strong> call should be made as soon as possible after the <strong>ProcessCVphase1</strong> call.</em></p>\n<h6 id=\"c-sharp\">C SHARP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-C#\">/* Sample code to call ProcessCVphase1 and ProcessCVphase2 calls */\n\nDaxtraServices.CVXtractorService CVX_Service = \n    new DaxtraServices.CVXtractorService(service_url, service_account, json_out);\n\n/* call to extract only personal data -- faster than full profile */\nstring hrxml_profile_pers_only = CVX_Service.ProcessCVphase1(file_to_process);\n\nif (hrxml_profile_pers_only==\"\" || CVX_Service.getLastError() != \"\")\n{\n    /* !! handle error and exit !! */\n    Console.Error.WriteLine(\"Error at processing :: \" + CVX_Service.getLastError());\n    System.Environment.Exit(1);\n}\n\n/* !! do something useful with personal data profile !! */\n\n/* call to fetch full profile */\nstring hrxml_profile = CVX_Service.ProcessCVphase2();\n</code></pre>\n<h6 id=\"vbnet\">VB.NET</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-VB.NET\">' Sample code to call ProcessCVphase1 and ProcessCVphase2 calls\n\nDim CVX_Service As New DaxtraServices.CVXtractorService(service_url, service_account, json_out)\n\n' call to extract only personal data -- faster than full profile\nDim hrxml_profile_pers_only As String = CVX_Service.ProcessCVphase1(file_to_process)\n\n' !! do something useful with personal data profile \n\n'  call to fetch full profile\nDim hrxml_profile As String = CVX_Service.ProcessCVphase2()\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><strong>hrxml_profile_pers_only</strong> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"544c1506-d4cf-4e7b-8972-90a66ee7bc6f"},{"name":"ProcessJobOrder","item":[],"id":"ae413460-7904-419d-b3b9-75879e7236b8","description":"<blockquote>\n<p>Below is sample code for processing a vacancy file</p>\n</blockquote>\n<h6 id=\"c-sharp\">C SHARP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-C#\">/* Sample code for processing a job order */\n\nDaxtraServices.CVXService CVX_Service = \n    new DaxtraServices.CVXtractorService(service_url, service_account, json_out);\nstring vac_profile = CVX_Service.ProcessJobOrder(file_to_process);\n</code></pre>\n<h6 id=\"vbnet\">VB.NET</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-VB.NET\">' Sample code for processing a job order\n\nDim CVX_Service As New DaxtraServices.CVXtractorService(service_url, service_account, json_out)\nDim vac_profile As String = CVX_Service.ProcessJobOrder(file_to_process)\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">vac_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"ae413460-7904-419d-b3b9-75879e7236b8"}],"id":"0deb7fca-8cba-46f8-ac9f-fa4b6101ca62","description":"<blockquote>\n<p><strong>Microsoft .NET Integration</strong> is built on top of our <strong>REST API</strong> and uses gzip compression on both request and response.</p>\n</blockquote>\n<ul>\n<li>Download <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-download\">CVXtractorService.cs</a> - this is a library which provides you with access to the <code>DaxtraServices.CVXtractorService</code> object.</li>\n<li>In Microsoft Visual Studio .Net create a C# or VB.NET Application Project (Windows Application/Console Application, etc.)</li>\n<li>Make sure that your target framework for the project is <strong>.NET Framework 4.5</strong> or above. This can be set in <em>\"Project Properties\" -&gt; \"Application\"</em>.</li>\n<li>Add <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-download\">CVXtractorService.cs</a> to your project.</li>\n</ul>\n<p><em><strong>Please note:</strong> You can build ASP.NET Web Applications and .NET Web Services through adding <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-download\">CVXtractorService.dll</a> to Project References.</em></p>\n","_postman_id":"0deb7fca-8cba-46f8-ac9f-fa4b6101ca62"},{"name":"Java","item":[{"name":"Java API","item":[],"id":"b3f4767b-d5a8-4cea-8ddb-0d6fd58cbce2","description":"<blockquote>\n<p>You can execute the following calls in the CVXtractorService package</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">/* CVXtractorService package calls */\n\npublic CVXtractorService(java.lang.String service_url,\n                         java.lang.String service_account,\n                         java.lang.boolean json_out)\n\npublic java.lang.String getLastError()\n\npublic java.lang.String ProcessCV(java.lang.String file_to_process)\n\npublic java.lang.String ProcessCV(java.lang.Byte [] file_content)\n\npublic java.lang.String ProcessCVphase1(java.lang.String file_to_process)\n\npublic java.lang.String ProcessCVphase1(java.lang.Byte [] file_content)\n\npublic java.lang.String ProcessCVphase2()\n\npublic java.lang.String getPhase2Token()\n\npublic java.lang.String ProcessJobOrder(java.lang.String file_to_process)\n\npublic java.lang.String ProcessJobOrder(java.lang.Byte [] file_content)\n\npublic java.lang.String Convert(java.lang.String file_to_process, java.lang.String to)\n\npublic java.lang.String Convert(java.lang.Byte [] file_content, java.lang.String to)\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><strong>file_content</strong> -- <code>byte array</code> -- content of a file you want to process</li>\n<li><strong>to</strong> -- <code>string</code> -- one of: html, html_q, docx, docx_q, pdf, pdf_q, rtf, rtf_q, txt, txt_q</li>\n</ul>\n<p><em><strong>Please note:</strong> Convert calls with \"_q\" in <strong>to</strong> parameter convert with extra quality (slower).</em></p>\n","_postman_id":"b3f4767b-d5a8-4cea-8ddb-0d6fd58cbce2"},{"name":"ProcessCV","item":[],"id":"06f6f088-e179-46e2-bbed-eeb99c03d9de","description":"<blockquote>\n<p>Below is sample code for processing a resume</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">/* Sample code for processing a resume */\n\nCVXtractorService CVX_Service = new CVXtractorService(service_url, service_account, json_out);            \nString hrxml_profile = CVX_Service.ProcessCV(file_to_process);\n\nif (hrxml_profile == \"\") {\n    System.err.println(\"Error at processing :: \" + CVX_Service.getLastError()); \n}\nelse {\n    System.out.println(hrxml_profile);\n}\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"06f6f088-e179-46e2-bbed-eeb99c03d9de"},{"name":"ProcessCVphase1 and ProcessCVphase2","item":[],"id":"d585f8aa-6625-457d-a2f5-1f29f7ae5512","description":"<blockquote>\n<p>You can also execute a <strong>two-phased call</strong>. </p>\n<p>Unlike <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a>, a <strong>ProcessCVphase1</strong> call extracts only personal and contact data (which is about 50% faster) and at the same time extraction of the full profile is initiated. </p>\n<p>This full profile can subsequently be retrieved through a <strong>ProcessCVphase2</strong> call. </p>\n</blockquote>\n<p><em><strong>Pleqase note:</strong> The <strong>ProcessCVphase2</strong> call should be made as soon as possible after the <strong>ProcessCVphase1</strong> call.</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">/* Sample code to call ProcessCVphase1 and ProcessCVphase2 calls */\n\nCVXtractorService CVX_Service = new CVXtractorService(service_url, service_account, json_out);            \n\n/* call to extract only personal data -- faster than full profile */\n\nString hrxml_profile_pers_only = CVX_Service.ProcessCVphase1(file_to_process);\nif (hrxml_profile_pers_only == \"\") {\n    System.err.println(\"Error at processing personal data:: \" + CVX_Service.getLastError()); \n    System.exit(1); \n}\n/* !! do something useful with personal data profile !! */\n\n/* call to fetch full profile */\n\nString hrxml_profile = CVX_Service.ProcessCVphase2();\nif (hrxml_profile == \"\") {\n    System.err.println(\"Error at processing full profile:: \" + CVX_Service.getLastError()); \n    System.exit(1); \n}\n/* !! do something useful with full profile !! */\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><strong>hrxml_profile_pers_only</strong> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"d585f8aa-6625-457d-a2f5-1f29f7ae5512"},{"name":"ProcessJobOrder","item":[],"id":"e0782936-0adf-4037-bb42-944cdfbda131","description":"<blockquote>\n<p>Below is sample code for processing a vacancy file</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">/* Sample code for processing a job order */\n\nCVXtractorService CVX_Service = new CVXtractorService(service_url, service_account, json_out);            \nString vac_profile = CVX_Service.ProcessJobOrder(file_to_process);\n\nif (vac_profile == \"\") {\n    System.err.println(\"Error at processing :: \" + CVX_Service.getLastError()); \n}\nelse {\n    System.out.println(vac_profile);\n}\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>json_out</strong> -- <code>boolean</code> -- true if output to be JSON otherwise output will be in XML</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">vac_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"e0782936-0adf-4037-bb42-944cdfbda131"}],"id":"6c402ec1-ac30-43ad-8ce2-f23bcab85dcd","description":"<blockquote>\n<p><strong>Java CVXService integration</strong> is built on top of our <strong>REST API</strong> and uses gzip compression on both request and response.</p>\n</blockquote>\n<ul>\n<li><p>Download <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-download\">CVXtractorService.java</a> - this is a file which provides you with access to a <code>CVXtractorService object</code>.</p>\n</li>\n<li><p>Compile <a href=\"https://cvxdemo.daxtra.com/cvx/#integration-download\">CVXtractorService.java</a> to produce <code>CVXtractorService.class</code>:</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">javac ./CVXtractorService.java\n</code></pre>\n<ul>\n<li>Test:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Java\">java -cp \".\" CVXtractorService -host service_url -id service_account -a process file_to_process\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <code>string</code> -- URL of a DaXtra Server</li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <code>string</code> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <code>string</code> -- full path to a file you want to process</li>\n</ul>\n<h6 id=\"output\">output</h6>\n<ul>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- string containing <code>XML/JSON</code> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"6c402ec1-ac30-43ad-8ce2-f23bcab85dcd"}],"id":"81fa5055-167f-43e2-8ff6-ba4915d14d3c","_postman_id":"81fa5055-167f-43e2-8ff6-ba4915d14d3c","description":""},{"name":"Integrations using REST API","item":[{"name":"JavaScript","item":[{"name":"POST /profile/full/json","item":[],"id":"b5de7f1a-823a-4374-a1b3-b6119452564f","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API call POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#9b871501-501d-42ef-90f8-54e87b6bdaba\">/profile/full/json</a>. </p>\n<p>We will be using the <code>multipart/form-data</code> POST style by using a <code>FormData</code> object.</p>\n</blockquote>\n<p><em><strong>Please note:</strong>: Since this script is visible to the general public, instead of an account name we will be using a <a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">Secure Token</a> valid only for a single processing.</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">//-- example of a REST API call POST /profile/full/json\n\n&lt;input type='file' id='my_file_upload_id' /&gt; \n&lt;input type='button' value='Send to CVX' \n    onclick='handle_file_upload_field(\"my_file_upload_id\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n\n//-- or any other DaXtra server:\nvar CVX_SERVER=\"http://cvx.daxtra.com\";\n\n//--  Secure Token provided by DaXtra:\nvar CVX_SECURE_TOKEN=\"XXXXXXX\";\n\n//-- function which is fired when button \"Send to CVX\" is clicked:\nfunction handle_file_upload_field(file_upload_id) \n{\n    var fileInput = document.getElementById(file_upload_id)\n    var file = fileInput.files[0];\n\n    var formData = new FormData();\n    formData.append(\"file\", file);\n\n//-- add turbo processing option:\n    formData.append(\"account\", CVX_SECURE_TOKEN + \"; -turbo\"); \n  \n    var xhr = prepare_xhr(my_cvx_return_handler);\n    xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/profile/full/json\");\n    xhr.send(formData);\n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text; \n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {      \n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n//-- errors generated by CVX:\n            if (this.responseText.match(/^{/)) {\n                ret_string = this.responseText;\n            }\n            else {\n//-- other errors are represented as JSON with status 999:\n                ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            }\n            handler(ret_string, xhr.status);\n        }\n    };\n   return xhr;\n}\n\nfunction my_cvx_return_handler(json_response, error_code)\n{\n    var profile_json = JSON.parse(json_response)\n    if (error_code || profile_json.CSERROR) {\n        //-- report error\n    }\n    else if (profile_json.StructuredResume) {\n        //-- do something with profile_json, which contains all extracted data\n    }\n}\n&lt;/script&gt;\n</code></pre>\n","_postman_id":"b5de7f1a-823a-4374-a1b3-b6119452564f"},{"name":"POST /profile/personal/json and GET /data","item":[],"id":"eb931c3e-862e-422e-92cd-9684e95c927c","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API call POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#4078e590-285d-40b4-bc71-e469cc880d02\">/profile/personal/json</a>, which takes less time than full profile extraction, so personal data can be put in a web form for a quicker response. </p>\n<p>We will be using the <code>application/json</code> POST style.</p>\n<p>After receiving personal data we will follow with a GET <a href=\"https://rest-api-doc.daxtra.com/?version=latest#565efa90-f4e0-465c-9f7b-2443e7f172e4\">/data</a> API call which will bring back the <strong>full profile</strong>.</p>\n</blockquote>\n<p><em><strong>Please note:</strong> Since this script is visible to the general public, instead of an account name we will be using a <a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">Secure Token</a> valid only for a single processing.</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">//-- example of a REST API calls POST /profile/personal/json and GET /data\n\n&lt;input type='file' id='my_file_upload_id'  /&gt; \n&lt;input type='button' value='Send to CVX' \n    onclick='handle_file_upload_field(\"my_file_upload_id\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n//-- or any other DaXtra server:\nvar CVX_SERVER=\"http://cvx.daxtra.com\"; \n\n//--  Secure Token provided by DaXtra:\nvar CVX_SECURE_TOKEN=\"XXXXXXX\";   \n\nfunction handle_file_upload_field(file_upload_id) \n{\n    var fileInput = document.getElementById(file_upload_id)\n    var file = fileInput.files[0];\n\n    var reader  = new FileReader();\n    reader.onload = function(e) {\n        var content = reader.result;\n//- delete header / leave only content:\n        content = content.replace(/^.*;base64,/, \"\"); \n//-- add turbo processing option:\n        var account_str = daxtra_cvx.account + '; -turbo'; \n        var jsonData = {account: account_str, file: content};\n        var xhr = prepare_xhr(my_cvx_return_handler_phase1);\n        xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/profile/personal/json\");\n        xhr.setRequestHeader(\"Content-type\", \"application/json\");\n        xhr.send(JSON.stringify(jsonData));\n        delete xhr;\n    };\n//-- Base64-encoded:\n    reader.readAsDataURL(file); \n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text; \n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {      \n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n//-- errors generated by CVX:\n            if (this.responseText.match(/^{/)) { \n                ret_string = this.responseText;\n            }\n            else {\n//-- other errors are represented as JSON with status 999:\n                ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            }\n            handler(ret_string, xhr.status);\n        }\n    };\n    return xhr;\n}\n\nfunction my_cvx_return_handler_phase1(json_response, error_code)\n{\n    var profile_json = JSON.parse(json_response)\n    if (error_code || profile_json.CSERROR) {\n        //-- report error\n        return;\n    }\n    else if (profile_json.StructuredResume) {\n        //-- do something with profile_json, which contains\n        //-- only personal data: name and contact details\n    }\n\n//-- get full profile:\n    if (profile_json.phase2_token)\n    {\n        var xhr = prepare_xhr(my_cvx_return_handler_phase2);\n        xhr.open(\"GET\", CVX_SERVER +\"/cvx/rest/api/v1/data\"\n                + \"?token=\" + profile_json.phase2_token)\n        xhr.send()\n    }\n}\n\nfunction my_cvx_return_handler_phase2(json_response, error_code)\n{\n    var profile_json = JSON.parse(json_response)\n    if (error_code || profile_json.CSERROR) {\n        //-- report error\n    }\n    else if(profile_json.StructuredResume) {\n        //-- do something with profile_json, which contains all extracted data\n    }\n}\n</code></pre>\n","_postman_id":"eb931c3e-862e-422e-92cd-9684e95c927c"},{"name":"POST /joborder/json","item":[],"id":"b9f759c3-50cd-41c9-bf67-74b4f58afe8d","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API call POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#0c06692a-1c75-4067-a48e-b0c05e9732d7\">/joborder/json</a>. </p>\n<p>We will be using the <code>multipart/form-data</code> POST style by using a <code>FormData</code> object.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">//-- example of a REST API call POST /joborder/json\n\n&lt;input type='file' id='my_file_upload_id'/&gt;\n&lt;input type='button' value='Send to CVX' onclick='handle_file_upload_field(\"my_file_upload_id\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n\nvar CVX_SERVER=\"http://cvx.daxtra.com\"; //- or any other DaXtra server\nvar account = \"account_name\";\n\n//-- function which is fired when button \"Send to CVX\" is clicked:\nfunction handle_file_upload_field(file_upload_id)\n{\n    var fileInput = document.getElementById(file_upload_id);\n    var file = fileInput.files[0];\n\n    var formData = new FormData();\n    formData.append(\"file\", file);\n    formData.append(\"account\", account);\n\n    var xhr = prepare_xhr(my_cvx_return_handler);\n    xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/joborder/json\");\n    xhr.send(formData);\n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text;\n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {\n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n            if(this.responseText.match(/^{/)) {  //-- errors generated by CVX\n                ret_string = this.responseText;\n            }\n            else {\n                //-- other errors are represented as JSON with status 999:\n                ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            }\n            handler(ret_string, xhr.status);\n        }\n    };\n    return xhr;\n}\n\nfunction my_cvx_return_handler(json_response, error_code)\n{\n    var profile_json = JSON.parse(json_response)\n    if(error_code || profile_json.CSERROR){\n        //-- report error\n    }\n    else if(profile_json.StructuredResume) {\n        //-- do something with profile_json, which contains all extracted data\n    }\n}\n&lt;/script&gt;\n</code></pre>\n","_postman_id":"b9f759c3-50cd-41c9-bf67-74b4f58afe8d"},{"name":"POST /list/screenout and POST /list/skills","item":[],"id":"56d6068b-4a76-4173-a3eb-b45c9659920a","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API calls POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#9d15995d-f9cf-42d7-9605-ccc8445fc841\">/list/screenout</a> and POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#0b6e9cee-ee51-4543-9673-0d53082810ec\">/list/skills</a>.</p>\n<p>We will be using the <code>multipart/form-data</code> POST style by using a <code>FormData</code> object.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-Javascript\">//-- example of a REST API calls POST /list/screenout and POST /list/skills\n\nAccount: &lt;input type='text' id='screenout_account_name'/&gt;&lt;/br&gt;\nScreenout File: &lt;input type='file' id='my_screenout_file_upload_id'  /&gt;&lt;/br&gt;\n&lt;input type='button' value='install_screenout' \n    onclick='handle_file_upload_field_screenout(\"my_screenout_file_upload_id\", \"screenout_account_name\")'/&gt;&lt;/br&gt;\n\nAccount: &lt;input type='text' id='skills_account_name'/&gt;&lt;/br&gt;\nSkills File: &lt;input type='file' id='my_skills_file_upload_id'  /&gt;&lt;/br&gt;\n&lt;input type='button' value='install_skills' \n    onclick='handle_file_upload_field_skills(\"my_skills_file_upload_id\", \"skills_account_name\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n\n//-- or any other DaXtra server:\nvar CVX_SERVER=\"http://cvx.daxtra.com\"; \n\n//-- function which is fired when button \"install_screenout\" is clicked\nfunction handle_file_upload_field_screenout(file_upload_id, account_name)\n{\n    var fileInput = document.getElementById(file_upload_id)\n    var file = fileInput.files[0];\n    var account = document.getElementById(account_name).value;\n\n    var formData = new FormData();\n    formData.append(\"file\", file);\n    formData.append(\"account\", account);\n\n    var xhr = prepare_xhr(my_cvx_return_handler);\n    xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/list/screenout\");\n    xhr.send(formData);\n}\n\n//-- function which is fired when button \"install_skills\" is clicked\nfunction handle_file_upload_field_skills(file_upload_id, account_name)\n{\n    var fileInput = document.getElementById(file_upload_id)\n    var file = fileInput.files[0];\n    var account = document.getElementById(account_name).value;\n\n    var formData = new FormData();\n    formData.append(\"file\", file);\n    formData.append(\"account\", account);\n\n    var xhr = prepare_xhr(my_cvx_return_handler);\n    xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/list/skills\");\n    xhr.send(formData);\n}\n\nfunction my_cvx_return_handler(resp_text, error_code)\n{\n    if (error_code){\n        //-- report error\n    }\n    else if (resp_text) {\n        //-- do something with resp_text which contains screenout/skill list(s)\n    }\n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text;\n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {\n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n            //-- errors represent as json with status 999\n            ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            handler(ret_string, xhr.status);\n        }\n    };\n    return xhr;\n}\n&lt;/script&gt;\n</code></pre>\n","_postman_id":"56d6068b-4a76-4173-a3eb-b45c9659920a"},{"name":"GET /list/screenout and GET /list/skills","item":[],"id":"3b1d5f10-0713-4f59-9dc2-a68fae712c7b","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API calls GET <a href=\"https://rest-api-doc.daxtra.com/?version=latest#cefd53e4-ac65-4597-80f2-be34ff90ee61\">/list/screenout</a> and GET <a href=\"https://rest-api-doc.daxtra.com/?version=latest#d1c7756e-5de3-4776-a518-d8cb7971f178\">/list/skills</a>.</p>\n<p>We will be using the <code>application/json</code> POST style.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">//-- example of a REST API calls GET /list/screenout and GET /list/skills\n\n&lt;input type='text' id='screenout_account_name'/&gt;\n&lt;input type='button' value='get_screenout' onclick='retrieve_screenout(\"screenout_account_name\")'/&gt;&lt;/br&gt;\n\n&lt;input type='text' id='skills_account_name'/&gt;\n&lt;input type='button' value='get_skills' onclick='retrieve_skills(\"skills_account_name\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n\nvar CVX_SERVER=\"http://cvx.daxtra.com\"; //- or any other DaXtra server\n\n//-- function which is fired when button \"get_screenout\" is clicked\nfunction retrieve_screenout(account_name) \n{\n    var account = document.getElementById(account_name).value;\n    var url = CVX_SERVER + \"/cvx/rest/api/v1/list/screenout&amp;account=\" + account;\n    document.write(url + \"&lt;/br&gt;\");\n\n    var xhr = prepare_xhr(my_return_handler);\n    xhr.open(\"GET\", url, false);\n    xhr.send( null );\n}\n\n//-- function which is fired when button \"get_skills\" is clicked\nfunction retrieve_skills(account_name) \n{\n    var account = document.getElementById(account_name).value;\n    var url = CVX_SERVER + \"/cvx/rest/api/v1/list/skills&amp;account=\" + account;\n    document.write(url + \"&lt;/br&gt;\");\n\n    var xhr = prepare_xhr(my_return_handler);\n    xhr.open(\"GET\", url, false);\n    xhr.send( null );\n}\n\nfunction my_return_handler(resp_text, error_code)\n{  \n    if (error_code) {\n        //-- report error\n    }\n    else if(resp_text) {\n        //-- do something with resp_text which contains screenout/skill list(s)\n    }\n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text;\n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {\n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n            //-- errors represent as json with status 999\n            ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            handler(ret_string, xhr.status);\n        }\n    };\n    return xhr;\n}\n&lt;/script&gt;\n</code></pre>\n","event":[{"listen":"prerequest","script":{"id":"ff373726-6bb1-442b-a71e-b49b3017d017","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"8fe4dbed-f8aa-45a9-9a32-c4e4ceaa933e","type":"text/javascript","exec":[""]}}],"_postman_id":"3b1d5f10-0713-4f59-9dc2-a68fae712c7b"},{"name":"POST /styler","item":[],"id":"e51e0c3b-8cca-4407-a354-07b834ff0374","description":"<blockquote>\n<p>Here is a <strong>JavaScript</strong> example of a REST API call POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#45abe9f9-776a-4cb4-8342-a2f3bfe7b9c2\">/styler</a>. </p>\n<p>We will be using the <code>multipart/form-data</code> POST style by using a <code>FormData</code> object.</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-JavaScript\">//-- example of a REST API call POST /styler\n\nAccount: &lt;input type='text' id='account_name'/&gt;&lt;/br&gt;\nTemplate: &lt;input type='text' id='template'/&gt;&lt;/br&gt;\nFile: &lt;input type='file' id='my_file_upload_id'/&gt;&lt;/br&gt;\nHRXML: &lt;input type='file' id='my_hrxml_file_upload_id'/&gt;&lt;/br&gt;\n&lt;input type='button' value='ReformatCV' \n    onclick='handle_file_upload_styler(\"my_file_upload_id\", \"account_name\", \"template\", \"my_hrxml_file_upload_id\")'/&gt;\n\n&lt;script type=\"text/javascript\"&gt;\n\nvar CVX_SERVER=\"http://cvx.daxtra.com\"; //- or any other DaXtra server\n\n//-- function which is fired when button \"ReformatCV\" is\nfunction handle_file_upload_styler(file_upload_id, account_name, template, hrxml_file_upload_id)\n{\n    var fileInput = document.getElementById(file_upload_id)\n    var file = fileInput.files[0];\n    var account = document.getElementById(account_name).value;\n    var template = document.getElementById(template).value;\n    var hrxml_fileInput = document.getElementById(hrxml_file_upload_id)\n    var hrxml_file = hrxml_fileInput.files[0];\n\n    var formData = new FormData();\n    formData.append(\"file\", file);\n    formData.append(\"account\", account);\n    formData.append(\"template\", template);\n    if (hrxml_file_upload_id) {\n        formData.append(\"hrxml\", hrxml_file);\n    }\n\n    var xhr = prepare_xhr(my_return_handler);\n    xhr.open(\"POST\", CVX_SERVER +\"/cvx/rest/api/v1/styler\");\n    xhr.send(formData);\n}\n\nfunction prepare_xhr(handler)\n{\n    var xhr = new XMLHttpRequest();\n    xhr.onreadystatechange = function(e) {\n        var resp_text;\n        if (xhr.readyState!=4) { return; }\n        if (xhr.readyState==4 &amp;&amp; xhr.status==200)\n        {\n            handler(this.responseText);\n        }\n        else {\n            var ret_string;\n            //-- errors represent as json with status 999\n            ret_string = '{\"CSERRROR\":{\"message\":\"' + xhr.statusText + '\", \"code\": 999}}';\n            handler(ret_string, xhr.status);\n        }\n    };\n    return xhr;\n}\n\nfunction my_return_handler(resp_doc, error_code)\n{\n    if(error_code){\n        //-- report error\n    }\n    else if(resp_doc) {\n        //-- do something with reformatted resp_doc\n    }\n}\n&lt;/script&gt;\n</code></pre>\n","_postman_id":"e51e0c3b-8cca-4407-a354-07b834ff0374"}],"id":"48ba714e-427a-4a8e-a61d-ad64bf6ad7a3","event":[{"listen":"prerequest","script":{"id":"9fe44eb5-4b29-4243-8b45-ee435e659515","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"87de1dbd-0da9-4811-966a-4ea5c8be9421","type":"text/javascript","exec":[""]}}],"_postman_id":"48ba714e-427a-4a8e-a61d-ad64bf6ad7a3","description":""},{"name":"VB6","item":[{"name":"POST /profile/full/xml","item":[],"id":"e9c2c6a5-c7c4-410d-964e-838a90f2ac1b","description":"<blockquote>\n<p>Here is an example of a REST API call POST <a href=\"https://rest-api-doc.daxtra.com/?version=latest#03f96451-8dc7-4a17-97fc-03aa27fa8047\">/profile/full/xml</a> to the DaXtra Server from <strong>VB6</strong> (<strong>ASP</strong> code is very similar). </p>\n<p>The data transfer mechanism is <code>text/xml</code> POST style -- XML string in POST body</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-vb6\">' example of a REST API call POST /profile/full/xml\n\nPublic Function processCV(ByVal service_url As String, _\n                        ByVal service_account As String, _\n                        ByVal file_to_process As String) As String\n    On Error GoTo err_handler\n  \n    '--- read file into Base64 string -----------\n    doc_content = ReadBinFileAsBase64(file_to_process)\n   \n    '---- prepare XML item for posting -------------------------\n    http_request = \"&lt;Request&gt;&lt;account&gt;\" &amp; service_account &amp; \"&lt;/account&gt;\"\n    http_request = http_request &amp; \"&lt;file&gt;\" &amp; doc_content &amp; \"&lt;/file&gt;&lt;/Request&gt;\"\n\n    '----------- execute (POST) API call with data ------------------\n    Dim xmlReq As Object\n    Set xmlReq = CreateObject(\"Microsoft.XMLHTTP\")\n    xmlReq.Open  \"POST\", \"http://\" &amp; service_url &amp; \"/cvx/rest/api/v1/profile/full/xml\", False\n    xmlReq.setRequestHeader \"Content-Type\", \"text/xml\"\n    xmlReq.setRequestHeader \"Connection\", \"close\"\n    xmlReq.send (http_request)\n\n    '----- get the results ----------------------\n    If (xmlReq.Status &gt;= 200 And xmlReq.Status &lt; 300) Then  ' -- SUCCESS\n        txtResponseHeaders = xmlReq.getAllResponseHeaders\n        processCV = xmlReq.responseText    \n    Else\n        processCV = \"ERROR: Request Failed with status \" &amp; xmlReq.Status &amp; vbCrLf\n        processCV = processCV &amp; xmlReq.responseText\n    End If\n    Exit Function\n  \nerr_handler:\n    If Err.Number &lt;&gt; 0 Then processCV = \"Error \" &amp; Err.Number &amp; \": \" &amp; Err.Description\nEnd Function\n\nPrivate Function ReadBinFileAsBase64(sFile As String) As String\n    Dim binFileArray() As Byte\n    binFileArray() = ReadBinFile(sFile)\n    ReadBinFileAsBase64 = EncodeBase64(binFileArray)\nEnd Function\n\nPrivate Function ReadBinFile(sFile As String) As Byte()\n    Dim nFile As Integer\n\n    nFile = FreeFile\n    Open sFile For Binary Access Read As #nFile\n    If LOF(nFile) &gt; 0 Then\n        ReDim ReadBinFile(0 To LOF(nFile) - 1)\n        Get nFile, , ReadBinFile\n    End If\n    Close #nFile\nEnd Function\n\nPrivate Function EncodeBase64(ByRef arrData() As Byte) As String   \n    Dim objXML As Object\n    Set objXML = CreateObject(\"MSXML2.DOMDocument\")\n    Dim objNode As Object\n      \n    ' byte array to base64\n    Set objNode = objXML.createElement(\"b64\")\n    objNode.dataType = \"bin.base64\"\n    objNode.nodeTypedValue = arrData\n    EncodeBase64 = objNode.Text\n \n    Set objNode = Nothing\n    Set objXML = Nothing\nEnd Function\n</code></pre>\n","_postman_id":"e9c2c6a5-c7c4-410d-964e-838a90f2ac1b"}],"id":"24d4ea37-c6bc-4ef2-9e0e-2a1fde808c0a","_postman_id":"24d4ea37-c6bc-4ef2-9e0e-2a1fde808c0a","description":""},{"name":"Perl","item":[{"name":"Install Skills file, Screenout file or Styler template on Load-balancer","item":[],"id":"b492489f-beb9-41a2-bb5a-afca00810fbc","description":"<blockquote>\n<p>Install Skills file (‡), Screenout file or Styler template (‡) for customers on one of our centrally-hosted, load-balanced parsing rings</p>\n</blockquote>\n<p>(‡) <em>There is a slightly different process to Install Skills file or Styler template, example calls will be updated soon.</em></p>\n<ul>\n<li><h4 id=\"for-daxtra-support-to-get-a-customer-an-account-specific-token\">For Daxtra support to get a customer an account-specific token</h4>\n</li>\n</ul>\n<p>Example of API calls to get a customer an account-specific token.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API calls to get a customer an account-specific token\n\nmy $ua = LWP::UserAgent-&gt;new();\nmy $cookie_jar = HTTP::Cookies-&gt;new();\n$ua-&gt;cookie_jar($cookie_jar);\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/login/yubi/{{YUBIKEY}}\",\n);\n$resp = $ua-&gt;request($req);\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/cvx/accounts/{{ACCOUNT}}/token\",\n);\n$resp = $ua-&gt;request($req);\n</code></pre>\n<p>If done correctly, the response that comes back from the second request should return an account-specific token for a customer, similar to that:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\"ok\":\"90706a23-0183-4345-b977-e1d68d1f8b74\"}\n</code></pre><p><em><strong>Please note:</strong> You can only get a customer token once! After that you need to save it safely.</em></p>\n<ul>\n<li><h4 id=\"for-a-customer-to-install-screenout-file\">For a customer to install Screenout file</h4>\n</li>\n</ul>\n<p><strong>First</strong>, the Screenout file must be added to a tar archive with bzip2 encoding as shown below.</p>\n<p><em><strong>Please note:</strong> The Screenout file must be named \"screenout.lst\" and must be present in the root folder of the archive.</em></p>\n<p>This section of code handles both of these requirements and referes to a Screenout file.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">my $input_file = '/path/to/screenout/file';\n\nmy $archive = Archive::Tar-&gt;new();\n$archive-&gt;add_files($input_file);\n$archive-&gt;rename($input_file, 'screenout.lst');\n$archive-&gt;write(\"$input_file.tar.bzip2\", COMPRESS_BZIP);\n</code></pre>\n<p>Once the archive file has been created, it must be base64 encoded as shown below.</p>\n<p><em><strong>Please note:</strong> One important detail about this step is the base64 encoded string cannot contain any new line characters or other whitespace.</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">my $tarBz2Base64 = encode_base64(read_file(\"$input_file.tar.bzip2\"), '');\n</code></pre>\n<p><strong>Next</strong>, a user agent must be created with a cookie jar, which will be used for two calls - one to authenticate the user agent with an API token that is specific to each account, and one to upload the base64 encoded archive.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API call to connect to a customer's account on load-balancer\n\nmy $ua = LWP::UserAgent-&gt;new();\nmy $cookie_jar = HTTP::Cookies-&gt;new(\n    file           =&gt; \"/tmp/cookies\",\n    autosave       =&gt; 1,\n    ignore_discard =&gt; 1,\n);\n$ua-&gt;cookie_jar( $cookie_jar );\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/login/account/{{ACCOUNT}}/$MY_TOKEN\",\n);\n$resp = $ua-&gt;request($req);\n</code></pre>\n<p>Once the user agent has been authenticated, the Screenout file can be uploaded as shown below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API call to upload Screenout file to load-balancer\n\nmy $response = $ua-&gt;post(\"https://v2.daxtra.io/cvx/accounts/{{ACCOUNT}}/screenout\",\n    Content_Type =&gt; 'application/json',\n    Content =&gt; \"{ \\\"tarBz2Base64\\\": \\\"$tarBz2Base64\\\" }\"\n)-&gt;content;\n\nprint \"$response\\n\";\n</code></pre>\n<p>If done correctly, the response that comes back from the second request should be printed as:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\"ok\": \"ok\"}\n</code></pre><p><em><strong>Please note:</strong> It might take some time for the uploaded file to be pushed out to all of the instances that are running on the balancer.</em></p>\n","event":[{"listen":"prerequest","script":{"id":"30346c49-7d4b-427b-ab0d-55adbbf8d4e3","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"d9efe208-6fe1-45c8-a966-196f0e96afcb","type":"text/javascript","exec":[""]}}],"_postman_id":"b492489f-beb9-41a2-bb5a-afca00810fbc"},{"name":"Retrieve Skills file, Screenout file or Styler template from Load-balancer","item":[],"id":"37671f4a-4407-442b-94a2-6f46632eeecc","description":"<blockquote>\n<p>Retrieve Skills file, Screenout file or Styler template (‡) for customers on one of our centrally-hosted, load-balanced parsing rings</p>\n</blockquote>\n<p>(‡) <em>There is a slightly different process to Retrieve Styler template, example calls will be updated soon.</em></p>\n<ul>\n<li><h4 id=\"for-daxtra-support-to-get-a-customer-an-account-specific-token\">For Daxtra support to get a customer an account-specific token</h4>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API calls to get a customer an account-specific token\n\nmy $ua = LWP::UserAgent-&gt;new();\nmy $cookie_jar = HTTP::Cookies-&gt;new();\n$ua-&gt;cookie_jar( $cookie_jar );\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/login/yubi/{{YUBIKEY}}\",\n);\n$resp = $ua-&gt;request($req);\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/cvx/accounts/{{ACCOUNT}}/token\",\n);\n$resp = $ua-&gt;request($req);\n</code></pre>\n<h6 id=\"which-should-return-an-account-specific-token-for-a-customer\">which should return an account-specific token for a customer</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\"ok\":\"90706a23-0183-4345-b977-e1d68d1f8b74\"}\n</code></pre><p><em><strong>Please note:</strong> You can only get a customer token once! After that you need to save it safely.</em></p>\n<ul>\n<li><h4 id=\"for-a-customer-to-retrieve-skills-file-or-screenout-file\">For a customer to retrieve Skills file or Screenout file</h4>\n</li>\n</ul>\n<h6 id=\"get-request-to-connect\">GET request to connect:</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API call to connect to a customer's account on load-balancer\n\nmy $ua = LWP::UserAgent-&gt;new();\nmy $cookie_jar = HTTP::Cookies-&gt;new(\n    file           =&gt; \"/tmp/cookies\",\n    autosave       =&gt; 1,\n    ignore_discard =&gt; 1,\n);\n$ua-&gt;cookie_jar( $cookie_jar );\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/login/account/{{ACCOUNT}}/$MY_TOKEN\",\n);\n$resp = $ua-&gt;request($req);\n</code></pre>\n<h6 id=\"get-request-to-get-skills-file-or-screenout-file\">GET request to get Skills file or Screenout file:</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- example of API call to get Skills file or Screenout file from load-balancer\n\n$req = HTTP::Request-&gt;new(\n    \"GET\",\n    \"https://v2.daxtra.io/cvx/accounts/{{ACCOUNT}}/skills\",  # or \"/screenout\"\n);\n\n$resp = $ua-&gt;request($req);\n\nprint STDERR $resp-&gt;content();  \n</code></pre>\n<p><em><strong>Please note:</strong> The response content contains Skills file or Screenout file.</em></p>\n","event":[{"listen":"prerequest","script":{"id":"fa249a43-0827-4daa-a189-785fbe7f8b01","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"0df332b1-ba49-45ae-8394-ac50b0dee685","type":"text/javascript","exec":[""]}}],"_postman_id":"37671f4a-4407-442b-94a2-6f46632eeecc"}],"id":"a9016229-b268-4a71-bc65-132fbce567ea","_postman_id":"a9016229-b268-4a71-bc65-132fbce567ea","description":""}],"id":"ff8ad57e-9806-4426-a37c-936aaf736c19","_postman_id":"ff8ad57e-9806-4426-a37c-936aaf736c19","description":""},{"name":"Integrations using SOAP API","item":[{"name":"PHP","item":[{"name":"POST ProcessCV","item":[],"id":"5d091f8a-fecb-43fa-ba4e-0b079388fc5e","description":"<blockquote>\n<p>The most frequently used SOAP call is <a href=\"https://soap-api-doc.daxtra.com/#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a>.</p>\n</blockquote>\n<h6 id=\"below-is-an-example-of-processcv-soap-call-from-php\">Below is an example of <a href=\"https://soap-api-doc.daxtra.com/#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a> SOAP call from PHP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-php\">&lt;?php\n//-- Sample code for processing a resume\n\nfunction processCV ($service_url, $service_account, $file_to_process)\n{\n    $client = new SoapClient(\"$service_url/cvx/CVXtractorService.wsdl\");\n    $handle = fopen($file_to_process , \"r\");\n    $fileContents = fread($handle, filesize($file_to_process));\n    fclose($handle);\n    $response = $client-&gt;ProcessCV(array('document_url' =&gt; base64_encode($fileContents), \n                                          'account'     =&gt; $service_account));\n    $hrxml_profile = simplexml_load_string($response-&gt;hrxml);\n    return $hrxml_profile;\n} ?&gt;\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- <em>XML/JSON object</em> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","_postman_id":"5d091f8a-fecb-43fa-ba4e-0b079388fc5e"},{"name":"POST  ProcessCVphase1 and POST ProcessCVphase2","item":[],"id":"f7c5aa3c-aa2f-4cb1-95a4-63ec403c7a6e","description":"<blockquote>\n<p>To speed up delivery of information to the user you also can process a resume in two phases. In the first phase the <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#ad011170-5275-4695-b524-5bea26bc12c4\">ProcessCVphase1</a> SOAP call extracts only personal and contact data which is in general 50% faster than extraction of the full profile. Together with the HR-XML profile it returns a <strong>phase2_token</strong> which can be used by immediately calling <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#6fcf0610-9672-4587-96f0-82571e92fdb1\">ProcessCVphase2</a> to fetch the full profile. </p>\n</blockquote>\n<p><em><strong>Please note:</strong> The <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#6fcf0610-9672-4587-96f0-82571e92fdb1\">ProcessCVphase2</a> call should be made as soon as possible after the <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#ad011170-5275-4695-b524-5bea26bc12c4\">ProcessCVphase1</a> call.</em></p>\n<h6 id=\"below-is-an-example-of-processcvphase1-and-processcvphase2-soap-calls-from-php\">Below is an example of <strong>ProcessCVphase1</strong> and <strong>ProcessCVphase2</strong> SOAP calls from PHP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-php\">&lt;?php\n//-- Sample code to make ProcessCVphase1 and ProcessCVphase2 calls\n\nfunction processCV2 ($service_url, $service_account, $file_to_process)\n{\n    $client = new SoapClient(\"$service_url/cvx/CVXtractorService.wsdl\");\n    $handle = fopen($file_to_process , \"r\");\n    $fileContents = fread($handle, filesize($file_to_process));\n    fclose($handle);\n    $response = $client-&gt;ProcessCVphase1(array('document_url' =&gt;  base64_encode($fileContents), \n                                                    'account' =&gt; $service_account));\n    $hrxml_profile_pers_only = simplexml_load_string($response-&gt;hrxml);\n    #-- !!! do something useful with $hrxml_profile_pers_only!!!\n    $response = $client-&gt;ProcessCVphase2(array('phase2_token' =&gt; $response-&gt;phase2_token),\n                                                    'account' =&gt; $service_account));\n    $hrxml_profile = simplexml_load_string($response-&gt;hrxml);\n    return $hrxml_profile;\n} ?&gt;\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- <em>XML/JSON object</em> with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n","event":[{"listen":"prerequest","script":{"id":"d34922f3-0b29-4e36-a2c5-c28b5e1e6a80","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ceddce5e-1d63-4284-90c8-ae9f1510e29e","type":"text/javascript","exec":[""]}}],"_postman_id":"f7c5aa3c-aa2f-4cb1-95a4-63ec403c7a6e"},{"name":"POST ProcessBatch","item":[],"id":"c44f6a07-6fc6-432d-9ac0-63552331c935","description":"<blockquote>\n<p>To process a number of files in batch mode you can use a <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#85799ac8-a56c-40ee-bc21-716c34f6c08d\">ProcessBatch</a> call.</p>\n</blockquote>\n<h6 id=\"below-is-an-example-of-processbatch-soap-call-from-php\">Below is an example of <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#85799ac8-a56c-40ee-bc21-716c34f6c08d\">ProcessBatch</a> SOAP call from PHP</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-php\">&lt;?php\n//-- Sample code for processing a number of files in batch mode\n\nfunction processBatch ($service_url, $service_account, $file_to_process)\n{\n    $client = new SoapClient(\"$service_url/cvx/CVXtractorService.wsdl\");\n    $handle = fopen($file_to_process , \"r\");\n    $fileContents = fread($handle, filesize($file_to_process));\n    fclose($handle);\n    $response = $client-&gt;ProcessBatch(array('document_url' =&gt; base64_encode($fileContents), \n                                            'account'      =&gt; $service_account));\n\n//-- token for this batch processing:\n\n    $batch_token = $response-&gt;process_token;\n    $ret_array = array();\n    for ($x = 0; $x &lt;= 1000; $x++) {\n\n//-- wait some time for processing to continue:\n\n        sleep(3); \n\n//-- call on the process to retrieve available results:\n\n        $response = $client-&gt;ProcessBatch(array('document_url' =&gt; $batch_token, \n                                                'account'      =&gt; $service_account));\n\n//-- save Base64-encoded ZIP of results if it was returned in this call:\n\n        $result = $response-&gt;Results; \n        if (!empty($result)) {\n            $result_file = $file_to_process . \"_\" . $x . \".zip\";\n            $res_handle = fopen($result_file , \"w\");\n            fwrite($res_handle, base64_decode($result));\n            fclose($res_handle);\n            array_push($ret_array, $result_file);\n        }\n\n//-- check whether processing is still going on (if so, the returned token is the same as the original):\n\n        $this_token =  $response-&gt;process_token;\n        if ($this_token &lt;&gt; $batch_token) { \n            $x = 1000;\n            $fh_stderr = fopen('php://stderr','a');\n            fwrite($fh_stderr, \"Processing finished with message: \" . $this_token);\n            fclose($fh_stderr);\n        }\n    }\n    return $ret_array;\n} ?&gt;\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process (usually an archive of files - ZIP, RAR, tar)</li>\n<li><strong>ret_array</strong> -- <em>array</em> of filenames of ZIP files with results</li>\n</ul>\n","_postman_id":"c44f6a07-6fc6-432d-9ac0-63552331c935"}],"id":"609dc10e-0d5c-4593-ba9e-ab6d2b903abc","description":"<h2 id=\"php-integration-using-soap\">PHP Integration using SOAP</h2>\n<blockquote>\n<p>PHP v5 and above has a <code>SoapClient</code> class to make a SOAP call.</p>\n</blockquote>\n<p>Below are example SOAP calls from PHP to process a resume:</p>\n<ul>\n<li><a href=\"#5d091f8a-fecb-43fa-ba4e-0b079388fc5e\">ProcessCV</a></li>\n<li><a href=\"#f7c5aa3c-aa2f-4cb1-95a4-63ec403c7a6e\">ProcessCVphase1</a> and <a href=\"#f7c5aa3c-aa2f-4cb1-95a4-63ec403c7a6e\">ProcessCVphase2</a></li>\n<li><a href=\"#c44f6a07-6fc6-432d-9ac0-63552331c935\">ProcessBatch</a></li>\n</ul>\n<blockquote>\n<p>For more details see the section <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#9c5f5e4f-e72c-4646-8574-7908dd967644\">SOAP API calls to process a resume or job order</a>.</p>\n</blockquote>\n","event":[{"listen":"prerequest","script":{"id":"c58ece13-674a-488a-b599-435ec1ef9b6f","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"6d438e0c-5e5b-4b29-a295-6ec8b5713491","type":"text/javascript","exec":[""]}}],"_postman_id":"609dc10e-0d5c-4593-ba9e-ab6d2b903abc"},{"name":"Ruby","item":[],"id":"4c822ab3-7929-472c-bf60-5a697ce304d0","description":"<h2 id=\"ruby-on-rails-integration-using-soap\">Ruby on Rails Integration using SOAP</h2>\n<blockquote>\n<p>One of the best Ruby on Rails SOAP clients is <a href=\"http://savonrb.com\">Savon</a>, which has a <code>Client</code> class to make a SOAP call.</p>\n</blockquote>\n<p><a href=\"http://savonrb.com\">Savon</a> version 2 is available from <a href=\"https://rubygems.org\">RubyGems</a> and can be installed using:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>$ gem install savon\n</code></pre><p>After <a href=\"http://savonrb.com\">Savon</a> is installed you will need to create a <code>DaxtraParser</code> class as below. For web applications you will normally put it into an <code>\"app/models/daxtra_parser.rb\"</code> file.</p>\n<h6 id=\"below-is-an-example-of-processcv-soap-call-from-ruby-on-rails\">Below is an example of <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a> SOAP call from Ruby on Rails</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-ruby\">#-- Sample code for processing a resume\n\nrequire 'base64'\nrequire 'savon' \n\nclass  DaxtraParser\n    def initialize(service_url, service_account) \n        @ACCOUNT = service_account\n        @client = Savon::Client.new(wsdl: service_url + \"/cvx/CVXtractorService.wsdl\")\n    end\n    def parse_file(file_to_process)\n        content = File.binread(file_to_process)\n        encoded = Base64.encode64(content)\n        response = @client.call(:process_cv, message: { \"document_url\" =&gt; encoded, \"account\" =&gt; @ACCOUNT })\n        response.body[:process_cv_response][:hrxml]\n    end\nend\n\n#-- Now you can use DaxtraParser objects in your Ruby on Rails program\n \nparser = DaxtraParser.new(service_url, service_account);\nhrxml_profile = parser.parse_file(file_to_process)\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- <em>string</em> containing XML/JSON with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n<blockquote>\n<p>For more details see the section <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#9c5f5e4f-e72c-4646-8574-7908dd967644\">SOAP API calls to process a resume or job order</a>.</p>\n</blockquote>\n","event":[{"listen":"prerequest","script":{"id":"2ab35ec8-224b-4daf-826a-46ff21badb76","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ae5959cb-85db-4c61-8f8c-2ad3a5cd8bb8","type":"text/javascript","exec":[""]}}],"_postman_id":"4c822ab3-7929-472c-bf60-5a697ce304d0"},{"name":"Perl","item":[],"id":"aa0f82f2-c29b-4eb2-b0cd-0c858a011042","description":"<h2 id=\"perl-integration-using-soap\">Perl Integration using SOAP</h2>\n<blockquote>\n<p>Perl has the <code>SOAP:Lite</code> CPAN module to make a SOAP call.</p>\n</blockquote>\n<h6 id=\"below-is-an-example-of-processcv-soap-call-from-perl\">Below is an example of <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a> SOAP call from Perl</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-perl\">#-- Sample code for processing a resume\n\nuse SOAP::Lite; \nuse XML::LibXML;\nuse Fcntl;\n\nsub processCV \n{\n    my $service_url = shift @_;\n    my $service_account = shift @_;\n    my $file_to_process = shift @_;\n\n    my $process_file = read_bin_file($file_to_process);\n    my $client = createSOAPclient($service_url);   \n    my $result = $client-&gt;ProcessCV($process_file, $service_account);\n    \n    if ($result =~ %^&lt;%) \n    #-- valid XML return\n    {\n        my $xml_parser = XML::LibXML-&gt;new;\n        my $envelope_dom =  $xml_parser-&gt;parse_string($result);\n        for my $hrxml_node ( $envelope_dom-&gt;findnodes(\"//s0:hrxml\") )\n        {\n            return $hrxml_node-&gt;textContent;\n        }\n    } \n    else \n    #-- HTTP error\n    { \n        return $result;\n    }\n}\n\nsub createSOAPclient\n{\n    my $service_url = shift @_;\n    my $client = SOAP::Lite-&gt;service(\"http://$service_url/cvx/CVXtractorService_compatibility.wsdl\");\n    return $client;\n}\n\nsub read_bin_file \n{\n    my $filename = shift @_;\n\n    my $sstring;\n    my $ed_length = -s $filename;\n    \n    sysopen(BINDAT, $filename, O_RDONLY | O_BINARY);\n    sysread(BINDAT, $sstring, $ed_length); #+1024);\n    close(BINDAT);\n  \n    return $sstring;   \n}\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process</li>\n</ul>\n<blockquote>\n<p>For more details see the section <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#9c5f5e4f-e72c-4646-8574-7908dd967644\">SOAP API calls to process a resume or job order</a>.</p>\n</blockquote>\n","event":[{"listen":"prerequest","script":{"id":"450bc646-04fd-434a-b159-c0efa644aec4","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"199a9ba0-580f-4759-b236-30766284612f","type":"text/javascript","exec":[""]}}],"_postman_id":"aa0f82f2-c29b-4eb2-b0cd-0c858a011042"},{"name":"Python","item":[],"id":"6af667be-2694-41be-85fb-313685b6e8bc","description":"<h2 id=\"python-integration-using-soap\">Python Integration using SOAP</h2>\n<blockquote>\n<p>Python has <code>suds.client</code> to make a SOAP call</p>\n</blockquote>\n<h6 id=\"below-is-an-example-of-processcv-soap-call-from-python\">Below is an example of <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a> SOAP call from Python</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">#-- Sample code for processing a resume\n\nfrom suds.client import Client\nfrom base64 import b64encode\n\ndef daxtra_process_cv (service_url, service_account, file_to_process):\n    f = open(file_to_process,'rb')\n    filecontent = f.read()\n    daxtra_soap_client = Client(service_url + '/cvx/CVXtractorService.wsdl')\n    hrxml_profile = daxtra_soap_client.service.ProcessCV(\n                                            document_url=b64encode(filecontent), \n                                            account=service_account)\n    return hrxml_profile\n</code></pre>\n<h6 id=\"where\">where</h6>\n<ul>\n<li><strong>service_url</strong> -- <em>string</em> -- URL of a DaXtra Server (not the full path to wsdl - just server name or IP) </li>\n<li><a href=\"https://rest-api-doc.daxtra.com/?version=latest#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">service_account</a> -- <em>string</em> -- your user name allocated to you by DaXtra</li>\n<li><strong>file_to_process</strong> -- <em>string</em> -- full path to a file you want to process</li>\n<li><a href=\"https://cvxdemo.daxtra.com/cvx/#integration-output\">hrxml_profile</a> -- <em>string</em> containing XML/JSON with structured fields or <a href=\"https://rest-api-doc.daxtra.com/?version=latest#6cb77a70-99d1-4c79-b687-914c8560fbd8\">error</a></li>\n</ul>\n<blockquote>\n<p>For more details see the section <a href=\"https://soap-api-doc.daxtra.com/view/6024079/Rztsn5sA/?version=latest#9c5f5e4f-e72c-4646-8574-7908dd967644\">SOAP API calls to process a resume or job order</a>.</p>\n</blockquote>\n","event":[{"listen":"prerequest","script":{"id":"95947c29-8335-4215-ab48-3b909d01f425","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"289e2c50-414a-46f5-a65d-04c4bf48da57","type":"text/javascript","exec":[""]}}],"_postman_id":"6af667be-2694-41be-85fb-313685b6e8bc"}],"id":"47af2a2d-927d-4b44-b7a3-591c7dc62bb5","description":"<blockquote>\n<p>A number of popular programming platforms have tools which read a <strong>WSDL file</strong> and produce <strong>classes</strong> ready to use.</p>\n<p>For example:</p>\n</blockquote>\n<ul>\n<li><strong>C#</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>wsdl /language:c# http://{{DAXTRA_SERVER_IP}}/cvx/CVXtractorService.wsdl\n</code></pre><ul>\n<li><strong>VB.NET</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>wsdl /language:vb http://{{DAXTRA_SERVER_IP}}/cvx/CVXtractorService.wsdl\n</code></pre><ul>\n<li><strong>Java</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>wsdl2java -encoding UTF-8 -verbose -frontend jaxws21 http://{{DAXTRA_SERVER_IP}}/cvx/CVXtractorService.wsdl\n</code></pre><p><em>You will need to install the <a href=\"https://cxf.apache.org/docs/wsdl-to-java.html\">Apache CXF wsdl2java tool</a>.</em></p>\n<ul>\n<li><strong>Perl</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>wsdl2perl.pl -b http://{{DAXTRA_SERVER_IP}}/cvx/CVXtractorService.wsdl\n</code></pre><p><em>Provided by <code>SOAP:WSDL</code> CPAN module.</em></p>\n<hr />\n<blockquote>\n<p>Many popular programming platforms also have <strong>pre-developed classes</strong> which can deal with <strong>SOAP calls</strong>.</p>\n<p>For instance:</p>\n</blockquote>\n<ul>\n<li><a href=\"#609dc10e-0d5c-4593-ba9e-ab6d2b903abc\"><strong>PHP</strong></a> v5 and above has the <strong>SoapClient</strong> class</li>\n<li><a href=\"#4c822ab3-7929-472c-bf60-5a697ce304d0\"><strong>Ruby</strong></a> has <strong>Savon gem</strong></li>\n<li><a href=\"#aa0f82f2-c29b-4eb2-b0cd-0c858a011042\"><strong>Perl</strong></a> has the <strong>SOAP:Lite</strong> CPAN module</li>\n<li><a href=\"#6af667be-2694-41be-85fb-313685b6e8bc\"><strong>Python</strong></a> has <strong>suds.client</strong></li>\n</ul>\n<p><em><strong>Please note:</strong> The most frequently used SOAP call is <a href=\"https://soap-api-doc.daxtra.com/?version=latest#81294b3a-2d7f-498f-ba84-cb5f8aa1f55a\">ProcessCV</a>.</em></p>\n","event":[{"listen":"prerequest","script":{"id":"d87d5c21-90e6-487d-a87f-5b4c8535534a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"11728524-86da-45f9-9647-5af4d0a01f31","type":"text/javascript","exec":[""]}}],"_postman_id":"47af2a2d-927d-4b44-b7a3-591c7dc62bb5"},{"name":"Configuration information","item":[{"name":"list/configs","id":"1aa6c6f5-2a38-4f87-82b1-b35f831f2cca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{DAXTRA_SERVER_IP}}/cvx/rest/api/v1/list/configs?account={{TEST_ACCOUNT}}&yubikey={{YUBIKEY}}","description":"<blockquote>\n<p>Retrieve Configuration options from <strong>configuration file</strong> associated with your <a href=\"https://rest-api-doc.daxtra.com/#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">Account ID / Secure Token</a>. †</p>\n</blockquote>\n<p>† <em>This call is currently available to <strong>DaXtra support</strong> only. Please ask <a href=\"mailto:support@daxtra.com\">DaXtra support</a> for details.</em></p>\n","urlObject":{"protocol":"https","path":["cvx","rest","api","v1","list","configs"],"host":["{{DAXTRA_SERVER_IP}}"],"query":[{"key":"account","value":"{{TEST_ACCOUNT}}"},{"key":"yubikey","value":"{{YUBIKEY}}"}],"variable":[]}},"response":[],"_postman_id":"1aa6c6f5-2a38-4f87-82b1-b35f831f2cca"}],"id":"23f4de37-ee79-4546-a311-5c2bda6a4d3e","description":"<blockquote>\n<p>Processing can be customised through the use of configuration options.</p>\n</blockquote>\n<ul>\n<li>Normally they are set by DaXtra engineer in a configuration file associated with your account.</li>\n<li>You can also pass configuration options together with your <a href=\"https://rest-api-doc.daxtra.com/#922693b7-28fc-4730-a7c3-80fbe3c99f6c\">Account ID / Secure Token</a> using a <code>'; '</code> delimiter.</li>\n</ul>\n<p><em><strong>Please note:</strong></em> <em>Configuration option that you pass together with your</em> <em><strong>Account ID</strong></em> <em>has precedence over configuration option that is set in a</em> <em><strong>configuration file</strong></em> <em>(excluding</em> <em><strong>-ocr_allowed</strong></em> <em>option).</em></p>\n<h6 id=\"account-id-example\">Account ID example</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>ACCOUNT_ID; -turbo -maxlen 10000 -accept_langs \"EN,CN\" -local CN\n\n</code></pre><h6 id=\"processing-configuration-options\">Processing configuration options</h6>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Account ID options</th>\n<th>Description of configuration options</th>\n<th>Configuration file</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>-turbo</td>\n<td>Use turbo mode for faster processing. Default is \"no\". ‡</td>\n<td>turbo=yes</td>\n</tr>\n<tr>\n<td>-turbo_no</td>\n<td>Do not use turbo mode (default). ‡</td>\n<td>turbo=no</td>\n</tr>\n<tr>\n<td>-maxlen N</td>\n<td>Process only N characters of the document. Useful to control speed of processing on long documents. Default is 30000.</td>\n<td>maxlen=20000</td>\n</tr>\n<tr>\n<td>-max_pages N</td>\n<td>Process only N pages of PDF document. Useful to control speed of processing on long PDF documents. Default is 8.</td>\n<td>max_pages=10</td>\n</tr>\n<tr>\n<td>-pers_only</td>\n<td>Extract only personal and contact information (speed gain).</td>\n<td>pers_only=yes</td>\n</tr>\n<tr>\n<td>-local LL</td>\n<td>Two letter default locale for the document (e.g. CN, ES, US). Can improve accuracy of extraction. Multiple locales can be listed using commas.</td>\n<td>DEF_LOCAL=US,CA</td>\n</tr>\n<tr>\n<td>-zoning</td>\n<td>Use publication zoner.</td>\n<td>ZONING=yes</td>\n</tr>\n<tr>\n<td>-zoning_no</td>\n<td>Do not use publication zoner. Default is \"no\" because it takes longer.</td>\n<td>ZONING=no</td>\n</tr>\n<tr>\n<td>-tel_norm</td>\n<td>Normalise phone numbers to international format. Default is \"yes\".</td>\n<td>no_tel_norm=no</td>\n</tr>\n<tr>\n<td>-tel_norm_no</td>\n<td>Do not normalise phone numbers to international format.</td>\n<td>no_tel_norm=yes</td>\n</tr>\n<tr>\n<td>-email_body</td>\n<td>Process email body together with attachments.</td>\n<td>no_email_body=no</td>\n</tr>\n<tr>\n<td>-email_body_no</td>\n<td>Do not process body of emails, only attachments. Emails from job boards often contain vacancy information in the email bodies which can confuse extraction. Default is \"yes\".</td>\n<td>no_email_body=yes</td>\n</tr>\n<tr>\n<td>-span</td>\n<td>Leave \"spans\" in \"TextResume\" elements; default is yes. Useful for cross-referencing from profile to resume text, and <strong>required</strong> if you are planning to use this profile in a <strong>ReformatCV</strong> or <strong>/styler</strong> call.</td>\n<td>KEEP_SPAN=yes</td>\n</tr>\n<tr>\n<td>-span_no</td>\n<td>Do not leave \"spans\" in \"TextResume\" elements.</td>\n<td>KEEP_SPAN=no</td>\n</tr>\n<tr>\n<td>-accept_langs LL,LL</td>\n<td>Only documents in languages in the list will be processed (e.g. -accept_langs \"EN,FR\").</td>\n<td>accept_langs=EN,FR</td>\n</tr>\n<tr>\n<td>-not_accept_langs LL,LL</td>\n<td>Do not process documents in these languages (e.g. -not_accept_langs \"FR,SP\").</td>\n<td>not_accept_langs=FR,SP</td>\n</tr>\n<tr>\n<td>-split_language</td>\n<td>If a document has distinctive parts in multiple languages, split it into multiple documents. Usually this is used together with optkions <strong>-prefer_lang_cv</strong> or <strong>-accept_langs</strong> / <strong>-not_accept_langs</strong>.</td>\n<td>split_language=yes</td>\n</tr>\n<tr>\n<td>-prefer_lang_cv LL</td>\n<td>If there are multiple resume attachments a resume in this language will be preferred.</td>\n<td>prefer_lang_cv=EN</td>\n</tr>\n<tr>\n<td>-complex</td>\n<td>If there are multiple resume attachments, conduct extraction in structured form. Default is \"no\".</td>\n<td>complex=yes</td>\n</tr>\n<tr>\n<td></td>\n<td>Do not conduct extraction in structured form (default).</td>\n<td>complex=no</td>\n</tr>\n<tr>\n<td>-picture</td>\n<td>If there is a candidate picture in the document, list its local filename.</td>\n<td>picture=yes</td>\n</tr>\n<tr>\n<td>-picture_inline</td>\n<td>If there is a candidate picture in the document, return it in Base64 encoding.</td>\n<td>picture_inline=yes</td>\n</tr>\n<tr>\n<td>-ts TARGET_SCHEMA</td>\n<td>Output in a particular schema version rather than the latest, e.g. -ts \"2.0.29\".</td>\n<td>TARGET_SCHEMA=2.0.29</td>\n</tr>\n<tr>\n<td>-hrxml</td>\n<td>Output cadidate or vacancy profile in HR-XML 2.4. This is the only option for vacancy profile.</td>\n<td>OUT_SCHEMA=HRXML</td>\n</tr>\n<tr>\n<td>-daxml</td>\n<td>Output cadidate profile in the DaxML variant of HR-XML. This is default option for candidate profile.</td>\n<td>OUT_SCHEMA=DAXML</td>\n</tr>\n<tr>\n<td>-projects_off</td>\n<td>Treat projects as work histories.</td>\n<td>projects_off=yes</td>\n</tr>\n<tr>\n<td></td>\n<td>Treat projects as project histories (default).</td>\n<td>projects_off=no</td>\n</tr>\n<tr>\n<td>-merge_bold_profile</td>\n<td>When a Bold CV is processed, merge the Bold profile into the extracted profile. †</td>\n<td>MERGE_BOLD_PROFILE=yes</td>\n</tr>\n<tr>\n<td>-merge_bold_profile_no</td>\n<td>Do not attempt to merge Bold profiles into extracted profiles (default). †</td>\n<td>MERGE_BOLD_PROFILE=no</td>\n</tr>\n<tr>\n<td></td>\n<td>Do not use the candidate's last work history location as the candidate's location if no other candidate's location is available.</td>\n<td>use_last_tl_location=no</td>\n</tr>\n<tr>\n<td></td>\n<td>Do use the candidate’s last work history location as the candidate’s location if no other candidate’s location is available and last work history end date is ‘Present’ (default).</td>\n<td>use_last_tl_location=yes</td>\n</tr>\n</tbody>\n</table>\n</div><p>† <em>The feature is currently supported on the latest DaXtra parser release; please ask</em> <a href=\"mailto:support@daxtra.com\"><em>DaXtra support</em></a> <em>for details.</em></p>\n<p>‡ <em><strong>turbo mode</strong></em> <em>attempts to speed up the processing times of slower CVs by reducing the processing of long work history elements and enabling \"fast conversion\" of the document. Please find a brief description of each of the changes and their effects below.</em></p>\n<p><em>Reducing the processing of long work history elements means that when an entry in the candidate's work history section is over a certain length, information will only be extracted from the start of the entry. This change will only affect work history elements that are over 4000 characters long, so the majority of CVs will be unaffected. Additionally, since the most essential information tends to be at the start of each entry, this typically only affects the extraction of skills from deep inside the work history element.</em></p>\n<p><em>Finally \"fast conversion\" reduces the timeout of the conversion procedure for all CVs. CVs that convert in a short amount of time will be unaffected by this change, but CVs that take a long time to convert may not be converted as accurately. This can cause the layout of the CV (as seen by the parsing engine) to be less accurate, which may introduce some issues during extraction.</em></p>\n<p><em>For time-critical applications you might also consider Disabling OCR, which means that when a graphical CV is sent in, the parsing engine will not attempt to derive the CV's text from the image. This will cause CVs that are image files (JPEG, PNG, etc.) and certain PDF CVs (that do not contain any text information) not to have any information extracted.</em></p>\n<h6 id=\"configuration-options-for-processing-graphical-documents\">Configuration options for processing graphical documents</h6>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Account ID options</th>\n<th>Description of configuration options</th>\n<th>Configuration file</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td>Setting whether the account is licensed to use OCR functionality. Default is \"no\".</td>\n<td>ocr_allowed=yes or ocr_allowed=no</td>\n</tr>\n<tr>\n<td>-ocr_engine {\"a9t9_ocr\":\"PDMXB4398888A\"},{\"lang\":\"en\"},{\"endpoint\":\"US\"}</td>\n<td>Setting the OCR functionality to use the A9T9 online service. Options for \"lang\": \"en\", \"de\", \"fr\", \"es\", \"pt\", \"nl\", \"it\", \"se\", \"cn\". Options for \"endpoint\": \"US\", \"EU\", \"Asia\". †</td>\n<td>ocr_engine={\"a9t9_ocr\":\"PDMXB4398888A\"},{\"lang\":\"en\"},{\"endpoint\":\"US\"}</td>\n</tr>\n<tr>\n<td>-ocr_engine {\"google_ocr\":\"YOUR_API_KEY\"},{\"endpoint\":\"US\"}</td>\n<td>Setting the OCR functionality to use the Google Cloud Vision service. Parameter \"endpoint\" is optional. Options for \"endpoint\": \"US\", \"EU\". ‡</td>\n<td>ocr_engine={\"google_ocr\":\"YOUR_API_KEY\"},{\"endpoint\":\"US\"}</td>\n</tr>\n<tr>\n<td>-ocr_engine tesseract</td>\n<td>Setting the OCR functionality to use the local service. †</td>\n<td>ocr_engine=tesseract</td>\n</tr>\n</tbody>\n</table>\n</div><p>† <em>Features are not currently supported on latest DaXtra centrally-hosted, load-balanced parsing rings; please ask</em> <a href=\"mailto:support@daxtra.com\"><em>DaXtra support</em></a> <em>for details.</em></p>\n<p>‡ <em>YOUR_API_KEY is your Cloud Vision API key from Google; please ask</em> <a href=\"mailto:support@daxtra.com\"><em>DaXtra support</em></a> <em>for details.</em></p>\n","_postman_id":"23f4de37-ee79-4546-a311-5c2bda6a4d3e"},{"name":"Output error messages","item":[{"name":"REST response codes","item":[],"id":"d4e3c07f-5d2d-4cd5-be1c-b98887dac5b9","description":"<blockquote>\n<p>Our REST framework uses the standard HTTP response code mechanism for reporting errors.</p>\n</blockquote>\n<h4 id=\"rest-response-data---error-handling\">REST Response data - Error Handling</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Data formats</th>\n<th>Error description</th>\n<th>CSERROR codes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Bad request arguments; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>10,11,12,14</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Authorization failed; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>1,2,3,4</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Process Not Found; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>19,23</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Error at Request Execution; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>20,21,22,31,602,603,604</td>\n</tr>\n<tr>\n<td>429</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Too Many Requests; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>429</td>\n</tr>\n<tr>\n<td>500</td>\n<td><code>application/json</code> <code>text/xml</code></td>\n<td>Internal Server Error; with additional <strong>CSERROR</strong> error message in JSON or XML format</td>\n<td>16</td>\n</tr>\n</tbody>\n</table>\n</div><p><em><strong>Please note:</strong> <strong>CSERROR codes</strong> are described in <a href=\"#17d21d2d-4406-4419-9685-a7f8e06cfef8\">CSERROR element</a> section.</em></p>\n","_postman_id":"d4e3c07f-5d2d-4cd5-be1c-b98887dac5b9"},{"name":"CSERROR element","item":[],"id":"17d21d2d-4406-4419-9685-a7f8e06cfef8","description":"<blockquote>\n<p>When an error occurs then instead of a string containing a \"Resume\" element DaXtra Parser returns a CSERROR element.</p>\n</blockquote>\n<h6 id=\"cserror-element-in-json\">CSERROR element in JSON</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    CSERROR: {\n        code: error_code,\n        messsage: \"error description\"\n    }\n}\n</code></pre>\n<h6 id=\"cserror-element-in-xml\">CSERROR element in XML</h6>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-xml\">&lt;CSERROR code='error_code'&gt;error description&lt;/CSERROR&gt;\n</code></pre>\n<h6 id=\"error-codes\">Error codes</h6>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Error Description</th>\n<th>Reporting calls</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>account has no permission to use this server</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>2</td>\n<td>account has expired on this server</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>3</td>\n<td>account does not have credentials for the requested operation</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>4</td>\n<td>credentials for the account are not set on the server</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>10</td>\n<td>incorrect call arguments: account / document needs to be specified</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>11</td>\n<td>corrupted access token</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>12</td>\n<td>could not read transferred document</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>14</td>\n<td>incorrect structure of passed argument</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>16</td>\n<td>could not load required modules</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>19</td>\n<td>wrong CVX server: batch job is on instance_ip</td>\n<td><strong>ProcessBatch</strong></td>\n</tr>\n<tr>\n<td>20</td>\n<td>error at document extraction</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>21</td>\n<td>failed to generate secure access token</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>22</td>\n<td>no result produced by ProcessCVphase2</td>\n<td><strong>ProcessCVphase2</strong></td>\n</tr>\n<tr>\n<td>23</td>\n<td>no process for token found on this server</td>\n<td><strong>ProcessCVphase2</strong>, <strong>ProcessBatch</strong></td>\n</tr>\n<tr>\n<td>31</td>\n<td>error at document format conversion</td>\n<td><strong>PDF2Word</strong>, <strong>ReformatCV</strong></td>\n</tr>\n<tr>\n<td>429</td>\n<td>too many requests. Server is too busy</td>\n<td>ALL CALLS</td>\n</tr>\n<tr>\n<td>602</td>\n<td>account already exists</td>\n<td><strong>CreateAccount</strong></td>\n</tr>\n<tr>\n<td>603</td>\n<td>could not create directory for new account</td>\n<td><strong>CreateAccount</strong></td>\n</tr>\n<tr>\n<td>604</td>\n<td>could not create required account files</td>\n<td><strong>CreateAccount</strong></td>\n</tr>\n<tr>\n<td>777</td>\n<td>misc error</td>\n<td>ALL CALLS</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"17d21d2d-4406-4419-9685-a7f8e06cfef8"}],"id":"6e85f632-26b7-4eb7-845f-6f065a4d06f4","_postman_id":"6e85f632-26b7-4eb7-845f-6f065a4d06f4","description":""}]}