Hello,
I'm currently processing orders from my e-commerce platform to extract all order items.
I need to construct a custom array that lists all order items, aggregated with additional data from other modules.
Example:
I require the order item ID and the quantity of items ordered from one module. Then, I need to add the brand information, which comes from a separate call to retrieve the matching product. To achieve this, I need to create my own data structure and populate it with all the necessary data.
I haven't found any documentation on how to create a custom array and populate it with my data.
If anyone has an example, it would be greatly appreciated.
Thanks a lot
Hello,
are the variables arriving as distinct bundles, or is it a single bundle containing multiple items that requires transformation into an array? Could you please share screenshots of the scenario and the current outputs you are observing?
The data originates from separate bundles, potentially from different applications. My goal is to group some of this data into a custom array before passing it to a new module for processing.
I don't have a specific scenario to share yet, but I can provide pseudo-code to illustrate the process.
Watch orders on woocommerce e-commerce
Create "order_items" Array
For each of the order items from the order do
Create a line in the order_item array with order_id, product id, quantity, coming from the order bundle
Call GetProduct(id) API for ervery order item and add in the array (same line) the brand id and other useful product info
Loop
Send order_items Array to custom module for processing
Hope this helps clarify the requirement.
Combine these modules and execute them to obtain the output bundles, which we can then examine.
Depending on the output bundles from the two modules, you might need 1 to 4 operations to convert them into the desired array format.
Please share the output bundles for each relevant module by running the scenario. Alternatively, you can retrieve this information without re-running your scenario from the History tab.
Click on the white speech bubbles located at the top-right of each module and select “Download input/output bundles”.
A. Upload as a Text File
Save the contents of each bundle in a plain text editor (without any formatting) as a bundle.txt
file.
You can upload the file here by clicking on this button:
B. Insert as Formatted Code Block
If you are unable to upload files on this forum, you can alternatively paste the formatted bundles.
These are the two methods for formatting text so that it will not be altered by the forum:
-
Method 1: Type code block manually
Add three backticks
```
before and after the content/bundle, like this:```
content goes here
``` -
Method 2. Highlight and click the format button in the editor
Providing the input/output bundles will enable others to replicate the scenario's behavior, particularly when dealing with complex data structures (like nested arrays and collections) or when external services are involved.
This will assist others in providing better support. Thank you!
—
P.S.: Investing some effort into the callin.io Academy will save you considerable time and reduce frustration when using callin.io.
Hello,
Thanks for your support with that.
I just created a test scenario to illustrate what I'm trying to achieve.
Context detail: I sell various products from different providers through my e-commerce platform. An order can contain products from multiple providers, and for shipping, I require a separate delivery slip for each provider. The ordered products are found in the output of the “Get an Order” module, and the provider information is in the “Get a Product” module.
My approach was to construct an Array containing all the ordered product details (product ID, name, and quantity) along with the provider information (represented by the shippingClass
attribute). Subsequently, I plan to parse this Array, group the results by shippingClass
, and then send each sub-array to the next module to generate a delivery slip for each distinct shipping class.
This is the lineItems returned by the “Get an Order” module (full export below)
"lineItems": [
{
"id": 70,
"name": "Collier EM en Céramique",
"quantity": 1,
"subtotal": "25.90",
"total": "25.90",
"taxes": [
{
"id": 1,
"total": "2.098057",
"subtotal": "2.098057"
}
],
"sku": null,
"price": 25.901943,
"image": {
"id": 1786,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-grand.webp"
},
"productId": 1785,
"variationId": 2600,
"taxClass": null,
"subtotalTax": "2.10",
"totalTax": "2.10",
"metaData": [
{
"id": 519,
"key": "pa_collier_taille",
"value": "taille_moyen",
"displayKey": "Taille de collier",
"displayValue": "Moyen"
},
{
"id": 520,
"key": "pa_couleur-collier",
"value": "noir",
"displayKey": "Couleur de collier",
"displayValue": "Noir"
}
],
"parentName": "Collier EM en cordelette et Céramique"
},
{
"id": 71,
"name": "Collier EM en Céramique",
"quantity": 1,
"subtotal": "32.38",
"total": "32.38",
"taxes": [
{
"id": 1,
"total": "2.622572",
"subtotal": "2.622572"
}
],
"sku": null,
"price": 32.377428,
"image": {
"id": 1786,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-grand.webp"
},
"productId": 1785,
"variationId": 2591,
"taxClass": null,
"subtotalTax": "2.62",
"totalTax": "2.62",
"metaData": [
{
"id": 530,
"key": "pa_collier_taille",
"value": "taille_grand",
"displayKey": "Taille de collier",
"displayValue": "Grand"
},
{
"id": 531,
"key": "pa_couleur-collier",
"value": "bleu",
"displayKey": "Couleur de collier",
"displayValue": "Bleu"
}
],
"parentName": "Collier EM en cordelette et Céramique"
}
],
The shipping class returned by the “Get a Product” module is the following
"shippingClass": "gerigodis-colliers",
Ideally, I would need to create the following Array (one line per lineItems):
OrderID, productID, ProductName, Quantity, ShippingClass
2946, 70, “Collier EM en Céramique”, 1,“gerigodis-colliers”
…
Here below the full output bundle export
[
{
"id": 2946,
"status": "completed",
"currency": "CHF",
"version": "9.7.1",
"total": "66.31",
"billing": {
"company": null,
"city": "TEST",
"state": "VD",
"postcode": "11111",
"country": "CH",
"email": "XXXXX@gmail.com",
"phone": "0000000",
"firstName": "XXXXX",
"lastName": "XXXXX",
"address1": "XXXXXX",
"address2": null
},
"shipping": {
"company": null,
"city": "XXXXX",
"state": "VD",
"postcode": "111",
"country": "CH",
"phone": null,
"firstName": "XXXXX",
"lastName": "XXXXX",
"address1": "XXXXX",
"address2": null
},
"number": "2946",
"refunds": [],
"parentId": 0,
"pricesIncludeTax": true,
"dateCreated": "2025-03-28T09:36:12.000Z",
"dateModified": "2025-03-28T10:11:15.000Z",
"discountTotal": "0.00",
"discountTax": "0.00",
"shippingTotal": "3.06",
"shippingTax": "0.25",
"cartTax": "4.72",
"totalTax": "4.97",
"customerId": 0,
"orderKey": "wc_order_zyBYBmOjvnuXb",
"paymentMethod": "stripe",
"paymentMethodTitle": "Carte de crédit/débit",
"transactionId": "XXXXX",
"customerIpAddress": "XXXXX",
"customerUserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Mobile/15E148 Safari/604.1",
"createdVia": "checkout",
"customerNote": null,
"dateCompleted": "2025-03-28T10:11:15.000Z",
"datePaid": "2025-03-28T09:36:16.000Z",
"cartHash": "653de466378e8e5ffd65d5098425ed6d",
"metaData": [
{
"id": 575,
"key": "is_vat_exempt",
"value": "no"
},
{
"id": 593,
"key": "_stripe_charge_captured",
"value": "yes"
},
{
"id": 594,
"key": "_stripe_currency",
"value": "CHF"
},
{
"id": 589,
"key": "_stripe_customer_id",
"value": "cus_RsIi6PBgwY6Nj9"
},
{
"id": 594,
"key": "_stripe_fee",
"value": "2.22"
},
{
"id": 592,
"key": "_stripe_intent_id",
"value": "pi_3R7ZKjK5Sw8YM6VO0HFQ4TSe"
},
{
"id": 595,
"key": "_stripe_net",
"value": "64.09"
},
{
"id": 588,
"key": "_stripe_source_id",
"value": "pm_1R7ZKhK5Sw8YM6VO4r6TwMBc"
},
{
"id": 590,
"key": "_stripe_upe_payment_type",
"value": "card"
},
{
"id": 587,
"key": "_wc_order_attribution_device_type",
"value": "Mobile"
},
{
"id": 579,
"key": "_wc_order_attribution_referrer",
"value": "https://www.google.com/"
},
{
"id": 585,
"key": "_wc_order_attribution_session_count",
"value": "1"
},
{
"id": 582,
"key": "_wc_order_attribution_session_entry",
"value": "https://drvictoria.vet/"
},
{
"id": 584,
"key": "_wc_order_attribution_session_pages",
"value": "6"
},
{
"id": 583,
"key": "_wc_order_attribution_session_start_time",
"value": "2025-03-28T08:31:10.000Z"
},
{
"id": 578,
"key": "_wc_order_attribution_source_type",
"value": "organic"
},
{
"id": 586,
"key": "_wc_order_attribution_user_agent",
"value": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Mobile/15E148 Safari/604.1"
},
{
"id": 581,
"key": "_wc_order_attribution_utm_medium",
"value": "organic"
},
{
"id": 580,
"key": "_wc_order_attribution_utm_source",
"value": "google"
}
],
"lineItems": [
{
"id": 70,
"name": "Collier EM en Céramique",
"quantity": 1,
"subtotal": "25.90",
"total": "25.90",
"taxes": [
{
"id": 1,
"total": "2.098057",
"subtotal": "2.098057"
}
],
"sku": null,
"price": 25.901943,
"image": {
"id": 1786,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-grand.webp"
},
"productId": 1785,
"variationId": 2600,
"taxClass": null,
"subtotalTax": "2.10",
"totalTax": "2.10",
"metaData": [
{
"id": 519,
"key": "pa_collier_taille",
"value": "taille_moyen",
"displayKey": "Taille de collier",
"displayValue": "Moyen"
},
{
"id": 520,
"key": "pa_couleur-collier",
"value": "noir",
"displayKey": "Couleur de collier",
"displayValue": "Noir"
}
],
"parentName": "Collier EM en cordelette et Céramique"
},
{
"id": 71,
"name": "Collier EM en Céramique",
"quantity": 1,
"subtotal": "32.38",
"total": "32.38",
"taxes": [
{
"id": 1,
"total": "2.622572",
"subtotal": "2.622572"
}
],
"sku": null,
"price": 32.377428,
"image": {
"id": 1786,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-grand.webp"
},
"productId": 1785,
"variationId": 2591,
"taxClass": null,
"subtotalTax": "2.62",
"totalTax": "2.62",
"metaData": [
{
"id": 530,
"key": "pa_collier_taille",
"value": "taille_grand",
"displayKey": "Taille de collier",
"displayValue": "Grand"
},
{
"id": 531,
"key": "pa_couleur-collier",
"value": "bleu",
"displayKey": "Couleur de collier",
"displayValue": "Bleu"
}
],
"parentName": "Collier EM en cordelette et Céramique"
}
],
"taxLines": [
{
"id": 73,
"label": "TVA8.1",
"compound": false,
"rateCode": "CH-TVA8.1-1",
"rateId": 1,
"taxTotal": "4.72",
"shippingTaxTotal": "0.25",
"ratePercent": 8.1,
"metaData": []
}
],
"shippingLines": [
{
"id": 72,
"total": "3.06",
"taxes": [
{
"id": 1,
"total": "0.24786",
"subtotal": null
}
],
"methodTitle": "Forfait",
"methodId": "flat_rate",
"instanceId": "2",
"totalTax": "0.25",
"taxStatus": "taxable",
"metaData": [
{
"id": 537,
"key": "Articles",
"value": "Collier EM en Céramique × 1, Collier EM en Céramique × 1",
"displayKey": "Articles",
"displayValue": "Collier EM en Céramique × 1, Collier EM en Céramique × 1"
}
]
}
],
"feeLines": [],
"couponLines": [],
"paymentUrl": "https://drvictoria.vet/checkout/order-pay/2946/?pay_for_order=true&key=wc_order_zyBYBmOjvnuXb",
"isEditable": false,
"needsPayment": false,
"needsProcessing": true,
"currencySymbol": "CHF"
}
]
Get An Order:
[
{
"id": 1785,
"name": "Collier EM en cordelette et Céramique",
"slug": "collier-anti-parasites-gerigodis",
"permalink": "https://drvictoria.vet/shop/collier-anti-parasites-gerigodis/",
"type": "variable",
"status": "publish",
"featured": false,
"description": "<h1>Collier EM en Céramique : Bienfaits et Propriétés Anti-tique</h1>
<p>Le collier EM (Effective Microorganisms) en céramique est un accessoire innovant qui gagne en popularité auprès des propriétaires d'animaux soucieux du bien-être naturel de leurs compagnons. Ce collier, conçu avec des micro-organismes bénéfiques encapsulés dans une matrice en céramique, est particulièrement apprécié pour ses effets anti-tique, contribuant ainsi à la protection des animaux contre les infestations de parasites.</p>
<h2>Qu'est-ce que le collier EM ?</h2>
<p>Le collier EM est fabriqué à partir de céramique contenant des micro-organismes, tels que des bactéries lactiques, des levures et des photosynthétiques. Ces micro-organismes sont sélectionnés pour leurs propriétés bénéfiques, favorisant un environnement sain pour l'animal. Lorsqu'ils sont portés, les céramiques EM émettent des ions et des ondes qui interagissent avec le champ électromagnétique de l'animal, créant une ambiance favorable pour sa santé.</p>
<h2>Effets Anti-tique</h2>
<p>Les recherches sur les effets des céramiques EM indiquent qu'elles peuvent influencer positivement la biodiversité microbienne et créer un environnement défavorable aux parasites, y compris les tiques. Une étude publiée dans la revue <em>Journal of Vector Ecology</em> souligne que les micro-organismes bénéfiques peuvent réduire l'attraction des tiques sur les hôtes en modifiant leur odeur corporelle, ce qui rend les animaux moins susceptibles d'être infestés.</p>
<p>En outre, les ions émis par les céramiques peuvent également renforcer le système immunitaire de l'animal, rendant son organisme moins accueillant pour les parasites. Des études ont montré que des animaux bénéficiant d'un soutien immunitaire accru sont moins vulnérables aux infestations.</p>
<p>Avantages supplémentaires</p>
<p>En plus de ses propriétés anti-tique, le collier EM en céramique offre d'autres bienfaits :</p>
<ol>
<li>Amélioration de la santé générale : Les micro-organismes bénéfiques peuvent favoriser un équilibre microbiologique sain, essentiel pour la digestion et la santé intestinale.</li>
<li>Réduction du stress : Le collier contribue à apaiser les animaux en créant une ambiance harmonieuse, réduisant ainsi le stress et l'anxiété.</li>
<li>Durabilité : Fabriqué à partir de matériaux naturels, ce collier est non seulement efficace mais également respectueux de l'environnement.</li>
</ol>
<p>Le collier EM en céramique représente une approche holistique et naturelle pour protéger votre animal des tiques et d'autres parasites. En intégrant ce produit dans le quotidien de votre compagnon, vous lui offrez une protection renforcée tout en favorisant son bien-être général. Pour plus d'informations sur les produits naturels et holistiques pour vos animaux, n'hésitez pas à consulter notre site, où un vétérinaire holistique se tient à votre disposition pour vous conseiller.</p>
<h2 data-start="0" data-end="51"><strong data-start="4" data-end="49">Instructions d’utilisation et d’entretien</strong></h2>
<p data-start="53" data-end="87"><strong data-start="53" data-end="69">Durée de vie</strong> : Jusqu'à 5 ans</p>
<p><strong data-start="89" data-end="104">Utilisation</strong> : Placez simplement le collier autour du cou de votre chien et laissez-le agir en continu.</p>
<p><strong data-start="201" data-end="214">Entretien</strong> :</p>
<ul>
<li data-start="53" data-end="87">Rincez-le à l’eau claire toutes les 1 à 2 semaines.</li>
<li data-start="53" data-end="87">Séchez-le à l’air libre, de préférence à l’extérieur : les rayons UV rechargent naturellement les perles.</li>
</ul>
<h2></h2>
<h2>Références</h2>
<ul>
<li>"The role of effective microorganisms in the reduction of tick attraction", Journal of Vector Ecology, 2021.</li>
<li>"Microbial Balance and Animal Health: Implications for Veterinary Practice", Journal of Veterinary Medicine, 2022.</li>
</ul>
<p> </p>
<p>Adoptez une approche naturelle et laissez votre animal bénéficier des vertus du collier EM en céramique !</p>
",
"sku": null,
"price": "20",
"purchasable": true,
"virtual": false,
"downloadable": false,
"downloads": [],
"backorders": "no",
"backordered": false,
"weight": null,
"dimensions": {
"length": null,
"width": null,
"height": null
},
"categories": [
{
"id": 69,
"name": "Antiparasitaires",
"slug": "antiparasitaires"
}
],
"tags": [],
"images": [
{
"id": 1786,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-grand.webp",
"name": "gerigodis collier grand",
"alt": null,
"dateCreated": "2024-10-13T12:50:33.000Z",
"dateModified": "2024-10-13T12:50:33.000Z"
},
{
"id": 1787,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-moyen.webp",
"name": "gerigodis collier moyen",
"alt": null,
"dateCreated": "2024-10-13T12:50:35.000Z",
"dateModified": "2024-10-13T12:50:35.000Z"
},
{
"id": 1788,
"src": "https://drvictoria.vet/wp-content/uploads/2024/10/gerigodis-collier-petit.webp",
"name": "gerigodis collier petit",
"alt": null,
"dateCreated": "2024-10-13T12:50:37.000Z",
"dateModified": "2024-10-13T12:50:37.000Z"
}
],
"attributes": [
{
"id": 1,
"name": "Taille de collier",
"slug": "pa_collier_taille",
"position": 0,
"visible": true,
"variation": true,
"options": [
"Grand",
"Moyen",
"Petit"
]
},
{
"id": 8,
"name": "Couleur de collier",
"slug": "pa_couleur-collier",
"position": 1,
"visible": true,
"variation": true,
"options": [
"Bleu",
"Jaune",
"Noir",
"Orange",
"Rose",
"Rouge",
"Vert"
]
}
],
"variations": [
2591,
2592,
2593,
2594,
2595,
2596,
2597,
2598,
2599,
2600,
2601,
2602,
2603,
2604,
2605,
2606,
2607,
2608,
2609,
2610,
2611
],
"brands": [
{
"id": 103,
"name": "GeriGodis",
"slug": "gerigodis"
}
],
"dateCreated": "2025-02-27T11:55:13.000Z",
"dateModified": "2025-03-30T09:47:29.000Z",
"catalogVisibility": "visible",
"shortDescription": "<p>Voici une solution naturelle, sans insectiside ou chimie pour réduire le risque que votre chien attrape des tiques.</p>
",
"regularPrice": null,
"salePrice": null,
"dateOnSaleFrom": null,
"dateOnSaleTo": null,
"onSale": false,
"totalSales": 10,
"downloadLimit": -1,
"downloadExpiry": -1,
"externalUrl": null,
"buttonText": null,
"taxStatus": "taxable",
"taxClass": null,
"manageStock": false,
"stockQuantity": null,
"backordersAllowed": false,
"lowStockAmount": null,
"soldIndividually": false,
"shippingRequired": true,
"shippingTaxable": true,
"shippingClass": "gerigodis-colliers",
"shippingClassId": 101,
"reviewsAllowed": false,
"averageRating": "0.00",
"ratingCount": 0,
"upsellIds": [],
"crossSellIds": [],
"parentId": 0,
"purchaseNote": null,
"defaultAttributes": [
{
"id": 1,
"name": "Taille de collier",
"option": "taille_moyen"
},
{
"id": 8,
"name": "Couleur de collier",
"option": "bleu"
}
],
"groupedProducts": [],
"menuOrder": 1,
"priceHtml": "<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">CHF</span> 20.00</bdi></span> – <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">CHF</span> 35.00</bdi></span> <small class="woocommerce-price-suffix">TTC</small>",
"relatedIds": [
2402,
2399,
2948,
2411
],
"metaData": [
{
"id": 5821,
"key": "oec_total_stock_quantity",
"value": null
},
{
"id": 5822,
"key": "oec_special_deal_notice_text",
"value": null
},
{
"id": 5840,
"key": "_aioseo_keywords",
"value": []
},
{
"id": 5843,
"key": "_aioseo_og_article_section",
"value": null
},
{
"id": 5844,
"key": "_aioseo_og_article_tags",
"value": []
},
{
"id": 5847,
"key": "_mepr_unauthorized_message_type",
"value": "default"
},
{
"id": 5848,
"key": "_mepr_unauthorized_message",
"value": null
},
{
"id": 5849,
"key": "_mepr_unauth_login",
"value": "default"
},
{
"id": 5850,
"key": "_mepr_unauth_excerpt_type",
"value": "default"
},
{
"id": 5851,
"key": "_mepr_unauth_excerpt_size",
"value": "100"
},
{
"id": 5852,
"key": "ocean_both_sidebars_content_width",
"value": null
},
{
"id": 5853,
"key": "ocean_both_sidebars_sidebars_width",
"value": null
},
{
"id": 5854,
"key": "ocean_sidebar",
"value": "0"
},
{
"id": 5855,
"key": "ocean_second_sidebar",
"value": "0"
},
{
"id": 5856,
"key": "ocean_center_header_left_menu",
"value": "0"
},
{
"id": 5857,
"key": "ocean_custom_header_template",
"value": "0"
},
{
"id": 5858,
"key": "ocean_custom_logo",
"value": null
},
{
"id": 5859,
"key": "ocean_custom_retina_logo",
"value": null
},
{
"id": 5860,
"key": "ocean_custom_logo_max_width",
"value": null
},
{
"id": 5861,
"key": "ocean_custom_logo_tablet_max_width",
"value": null
},
{
"id": 5862,
"key": "ocean_custom_logo_mobile_max_width",
"value": null
},
{
"id": 5863,
"key": "ocean_custom_logo_max_height",
"value": null
},
{
"id": 5864,
"key": "ocean_custom_logo_tablet_max_height",
"value": null
},
{
"id": 5865,
"key": "ocean_custom_logo_mobile_max_height",
"value": null
},
{
"id": 5866,
"key": "ocean_header_custom_menu",
"value": "0"
},
{
"id": 5867,
"key": "ocean_menu_typo_font_family",
"value": "0"
},
{
"id": 5868,
"key": "ocean_menu_typo_font_size",
"value": null
},
{
"id": 5869,
"key": "ocean_menu_typo_line_height",
"value": null
},
{
"id": 5870,
"key": "ocean_menu_typo_spacing",
"value": null
},
{
"id": 5871,
"key": "ocean_post_title_background",
"value": null
},
{
"id": 5872,
"key": "ocean_post_title_height",
"value": null
},
{
"id": 5873,
"key": "ocean_post_title_bg_overlay",
"value": "0.5"
},
{
"id": 5874,
"key": "ocean_custom_footer_template",
"value": "0"
},
{
"id": 5875,
"key": "osh_custom_sticky_logo",
"value": null
},
{
"id": 5876,
"key": "osh_custom_retina_sticky_logo",
"value": null
},
{
"id": 5877,
"key": "osh_custom_sticky_logo_height",
"value": null
},
{
"id": 5958,
"key": "_monsterinsights_sitenote_active",
"value": "0"
},
{
"id": 7899,
"key": "_wp_page_template",
"value": "default"
},
{
"id": 18769,
"key": "fb_brand",
"value": null
},
{
"id": 18770,
"key": "fb_product_group_id",
"value": "9720053731360671"
},
{
"id": 19499,
"key": "_wp_old_date",
"value": "2024-10-12T22:00:00.000Z"
}
],
"stockStatus": "instock",
"hasOptions": true,
"postPassword": null,
"globalUniqueId": null
}
]
Hope this is clearer and thanks a lot for your help !
Hello,
After a few hours, I finally reached my goal and found the solution. It was quite straightforward once I understood how aggregators work.
If this can help anyone else, here's how I accomplished it:
Explanation:
I used an iterator to go through all the order line items.
For each line item, I retrieved the corresponding product to get the additional information needed.
Then, I aggregated the results using the Aggregator "Line items (37)", including all the necessary fields from both the original line item iterator and the product details.
Now I have an array containing all the data I require, and I can proceed with parsing it.
An added benefit is the grouping function within the aggregator, which allowed me to bypass an additional iterator by grouping directly by provider in the results.
That's it!
Hope this helps.