{"id":900,"date":"2022-03-19T02:26:43","date_gmt":"2022-03-19T01:26:43","guid":{"rendered":"https:\/\/wp.bizoir.dk\/?p=900"},"modified":"2023-03-10T09:14:00","modified_gmt":"2023-03-10T08:14:00","slug":"boomi-atomsphere-api-executionrecords","status":"publish","type":"post","link":"https:\/\/wp.bizoir.dk\/?p=900","title":{"rendered":"Boomi ExecutionRecords &#8211; Leveraging Atomsphere API"},"content":{"rendered":"<p>Recently, I had to extract all the documents of a Boomi process run to investigate a support case. It was 2000+ documents, and I was in no mood to do it manually.<\/p>\n<p>Boomi has detailed how to do it <a href=\"https:\/\/community.boomi.com\/s\/article\/How-to-get-integration-process-execution-details-with-the-AtomSphere-API\">here<\/a>, and luckily, a lot of the code and techniques from the &#8220;<a href=\"https:\/\/wp.bizoir.dk\/?p=842\" target=\"_blank\" rel=\"noopener\">Code Search<\/a>&#8221; project, could be reused. But it is by no means simple to do &#8211; 5 different API calls are needed, and for each document to be fetched, two of these needs to be called repeatedly handling HTTP 202&#8217;s in the process. This is also quite slow. It took several tries, and my 2000 documents took around 2+ hours to download.<\/p>\n<p><!--more--><\/p>\n<table>\n<tbody>\n<tr>\n<th>API<\/th>\n<th>Function<\/th>\n<th>Called<\/th>\n<th>Paging<\/th>\n<\/tr>\n<tr>\n<td>ExecutionRecord<\/td>\n<td>Search out the wanted processexecutions (getting the executionId&#8217;s). If you want a specific run, you can skip this and copy the executionId from the portal &#8211; otherwise you will probably want to search by processName + some more<\/td>\n<td>Once<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>ExecutionConnector<\/td>\n<td>Get a list of all the connectors that have received or sent data for an executionId<\/td>\n<td>Once per ExecutionId<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/help.boomi.com\/bundle\/developer_apis\/page\/int-Generic_connector_record_object.html\">GenericConnectorRecord<\/a><\/td>\n<td>Get the ids of all the document that a connector has sent or received in a run<\/td>\n<td>Once per executionId<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/help.boomi.com\/bundle\/developer_apis\/page\/int-Connector_document_operation.html\">ConnectorDocument<\/a><\/td>\n<td>Retrieve the URL for the document to be downloaded<\/td>\n<td>Once for each document<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>DocumentDownload<\/td>\n<td>Use the URL returned by the previous call, to retrieve the actual document content<\/td>\n<td>Once for each document<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Adam Arrowsmith has also written a little about it <a href=\"https:\/\/community.boomi.com\/s\/article\/How-to-get-integration-process-execution-details-with-the-AtomSphere-API\">here<\/a><\/p>\n<p>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I had to extract all the documents of a Boomi process run to investigate a support case. It was 2000+ documents, and I was in no mood to do it manually. Boomi has detailed how to do it here, and luckily, a lot of the code and techniques from the &#8220;Code Search&#8221; project, could &hellip; <a href=\"https:\/\/wp.bizoir.dk\/?p=900\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Boomi ExecutionRecords &#8211; Leveraging Atomsphere API&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[39],"class_list":["post-900","post","type-post","status-publish","format-standard","hentry","category-guides","tag-boomi"],"_links":{"self":[{"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/posts\/900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=900"}],"version-history":[{"count":9,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/posts\/900\/revisions"}],"predecessor-version":[{"id":1006,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=\/wp\/v2\/posts\/900\/revisions\/1006"}],"wp:attachment":[{"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.bizoir.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}