Bulk Import through APIs using CSV Files

This document describes the step-by-step process of bulk importing Items, Bundles, and Attributes through APIs.

Note: You also have the option to import them using our Copilot UI, instructions for which are available here.

Bulk Import Attributes

1. Get Template for CSV File Upload

This endpoint gives you the Header columns to be included in the CSV file to bulk import Attributes.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/template/attribute' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

2. GET S3 bucket URL to Upload File

Use this endpoint to get url for AWS S3 bucket to which you must upload your CSV file. The response also includes fileId, which is required to get status of file import.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/upload-url/attribute' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}
--header 'Content-Type: application/json' \
--data-raw '{
"fileName": "item-attributes.csv"
}'

Example Response for above API request

Copy
Copied
{
    "fileId": "63f78b400f6ed30008e709f9",
    "url": "https://greatwall-sandbox-sandbox-bulk-import-pim.s3.amazonaws.com/attribute/60ad7e9d858eb50007abbb19/sandbox/1677167424637-item-attributes.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASSWWDZ46BXAHWTTU%2F20230223%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230223T155024Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFMaCXVzLWVhc3QtMSJGMEQCIAi%2Bp%2BFLCUivvhFXI3L8l7rJkS3RoSCL8ukcVAhS4sOxAiBHsRaVN%2Fk%2FPiQRmWVaDqaWnU7mfP8JIau%2F6WCQ0TLHbir8Awjs%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDE3NzYxNjQ0MTE0OCIMlw%2BTGl1qXP7QS6FrKtADDvKEkQaBn5JyzUh5k56gLnsuMElSHORnKldkOqvknm%2FMYv5iIWZGFpZzsyk%2B30Mb%2FEC7oFhfVLSz0Rrd32FH21MhwwKzTSkBgHZh8c4a86xopHyFBa20aHsvgkKUXKTEVT1xq8b6MQZwF6PdkAvlMHcoXVRIIW0Pi3cjLjZD8on9P4u%2FD%2Ff5ELmU6fShRXizPuhVDGWD8z6VPqNUMHu7ZCj0CvjZTRvKFDoYJ5HdUdFFByPaHWPOQko2qu98yKN74g0S2gE54%2F%2F5hHRZ3DrvMNxSNUh%2Fu%2BsEqei6zMa4wG2HKZ4s9Lgq0NaNv88aeFJSi3GgWK4TkY%2F1o8ho9Ow%2BKl2wPazX4jVe3y8UIMbpG7bAKtBrEdwujnsrobFYAOSIKhuwisdTdd9Kt%2BdqKK031eSea%2FesT9bEnxw1CBitji7OwBtBifkjwtTq0Tv4aWcZ4%2FO%2FKQaa033CLacR%2Frx2xAeELFj0pU1rKZXt23GM%2BQWxJpMeQ%2B%2Fb1NesWU0vhhlUm7ETudVbgRQSy4rdVrKuaWMUN%2FS3jXzNUBldLxxYr4126rjmfdp95UsmpYjdDSPHhks8YxrOIrvOC7KchPeyYmzuaohEBkGcJ905cIOask0w1oDdnwY6pgHmUvONu3w%2BtdKwhY0jKLTIsqVBjaSpwp9Pu4OG%2BTc7lCO8HpYbMTdFxyloWMHIaQf4mBZEU%2BGc1SXwhNLvZ5JvBxklnC6DTmpQtqzOwq%2F2Kegv88ivaw2AIkELqtKyLgEd%2F%2BFxOX9C%2BCMELMhQpXJfnYupQtSXJYR%2B4mZcE2fvX25X1pBfaw87BBoC0mdYZ1r3io510GlpBDTZX%2BoP7X0QaZlP4Smn&X-Amz-Signature=05a1bf8f36465f60fda26203e03c0495c5dd3f37cc4d3012f8e1f0fa62d5ad20&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ad7e9d858eb50007abbb19&x-amz-meta-channel=12&x-amz-meta-fileid=63f78b400f6ed30008e709f9&x-amz-meta-filename=item-attributes.csv&x-amz-meta-prefix=attribute&x-amz-meta-stage=sandbox",
    "key": "attribute/60ad7e9d858eb50007abbb19/sandbox/1677167424637-item-attributes.csv"
}

3. Upload CSV File to Bulk Import Attributes

Use this endpoint to attach your CSV file (as binary file) to the url you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request PUT 'https://greatwall-stg02-bulk-import-pim.s3.amazonaws.com/item/60ac19ef893ab1000864b771/stg02/1650446551945-test_s3_import.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA26KLJWUAMIB6WQGP%2F20220420%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220420T092234Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFcaCXVzLWVhc3QtMSJGMEQCIEAuZzeGtYngoGn7f8pZg8EKD6ojuUdRjPaoReD1jyXgAiBNz9Lzs6nEd%2FCjRay96pQbPZS5ANMvKz2x4QhvjymcbyrvAwgQEAIaDDc1MjMxNDA3MDI3MiIMEB9T3tII8hgS3gZEKswDLCxImfGa3oIA%2FJgGgnwrQ%2B%2BycR2s2lK4RasblL1dpYgoJ7nCbRAmvK%2FEKiUijr8AsTn45gvCMYNPx85HpEwagvVPcLWon6%2FK%2BKzX9OzyBMtYhGE1T7xkkQFIukvnkqTk9O11Nze4jeoqgSZz8P9ZsJtwO2OB3SzlrI%2FbMmqJVndo9gi7cxGkfWqrYkAJZDCz2Jte5BylOffzQGAzt%2BvJb8Mp064jMtrIg2KoG0GP%2BB1mxgP9tTFl1IAp5lfCVObE7Mp9njlRHe7en52WUb4m4abZ1r8h5rpyoLCqcadvRkzaF%2FEIGb2cntOtdwzpdXM6tAfE4klFYbU%2FXhjzgMyKWrDrU%2F9SPO9ADFvH2YOXLo%2FQZwVWktbEvN%2BiOjEUnp7xMs2XG72LL9bJfFQkucfsUQBi8Gqn9gHaC5UKOxTEl7vlseznQQne2OrguDaZjzBa8PBDPQBnlW185F0qWw8mbVERcS1lFFHUSI74hqhBL0H3P7DZ%2FMmlviAaHSHax0RvwLL%2Bv%2BML07sdiIthpnF5LKyt8d3k6NmIakEySxAjBuY9qM%2By%2FTfpMPsQkel%2FkFe7rzpORt48A1eDnN3jZYQnmspg8wjEVfMgC7i6IDCy2f6SBjqmARtbCf%2Bw%2FCZJOZjVzUCxjsTpBT%2FMOcY6OMWS2q0arjzBOX9zVUzltD63KTsMjjih6mfa7Vv9piSwg%2Bqg4kBT6mvOTEgUksSJOw4%2FSyQaR3FAvXdCZkvd97xOMCgXWOotpvvYy9OlRQDalW5PjF5hh3hR8AEh%2FJ88kGeszOMNRUKzrut4drS02V3irAjYEaF5NyFgPLiwxCHwFblF3nit3AKeywL3D%2BA%3D&X-Amz-Signature=e48e53cf183596b9c68dcda85bdb26d145c05f613b32322285a23a150db3163d&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-nodeid%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ac19ef893ab1000864b771&x-amz-meta-channel=12&x-amz-meta-fileid=625fd0da08d45e0009f583e3&x-amz-meta-filename=test_s3_import.csv&x-amz-meta-nodeid=6256a1d7e70fcb5135e381f0&x-amz-meta-prefix=item&x-amz-meta-stage=stg02' \
--header 'Content-Type: text/csv' \
--data-binary '@/Desktop/item-attributes.csv'

4. Get Upload Status

Once file upload is completed, use this endpoint to check the upload status by passing the query parameter fileId, which you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/file/{fileId}/status' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

5. Get Item Attribute Import History

Use this endpoint to view the history of all Attribute imports along with their file status.

Copy
Copied
curl --location --request POST 'https://<env>.copilot.fabric.inc/api-product/v1/product/file/attribute/search' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "page": 1,
    "size": 10
}'

Bulk Import Items

1. Get Template for CSV File

This endpoint gives you the Header columns to be included in the CSV file, along with the hierarchy name, to bulk import Items.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/template/{accountId}/{nodeId}' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

2. Get S3 bucket URL

Use this endpoint to get url for AWS S3 bucket to which you need to upload your CSV file. The response also includes fileId, which is required to get status of the file import.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/upload-url' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}
--header 'Content-Type: application/json' \
--data-raw '{
    "nodeId": "60ad7e9d858eb50007abbb19",
    "fileName": "Import_Test_sandbox_s3.csv"
}'

Example Response for above API request

Copy
Copied
{
    "fileId": "63f78be90f6ed30008e709fc",
    "url": "https://greatwall-sandbox-sandbox-bulk-import-pim.s3.amazonaws.com/item/60ad7e9d858eb50007abbb19/sandbox/1677167593775-Import_Test_sandbox_s3.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASSWWDZ46GMQUM2WV%2F20230223%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230223T155314Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFQaCXVzLWVhc3QtMSJIMEYCIQDoLPY9u84GJsygAsmKxttW3rJbwXe1cY%2Buk73tITGnCQIhANRYdyng2i4whjEh5pyWNnZwtEsAgz3KBXdP%2BoiLRPrWKvwDCO3%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQARoMMTc3NjE2NDQxMTQ4IgxAj8AuEzLV%2BKZtyCQq0AN9EfQs8J%2Ftjm5zQR%2FV%2FH10oh%2FC1Q6UZMBTB69%2FHnXMgrEmcYX1PIHGZEL3vkfO3In%2Fig%2FLZQ9eT8odcHxS872s8XUwIBvIAa30abSdSz0REt0lCH5GUFCAVmqLzAS2wsVwivGpumITUp48M0tZb4MmpkJS54boIavZQyXo%2FA5GExqbQFHkrh4FQ0AACc24F%2FDozyaEBPsO33a0WGIVUTC8ZsDkic%2BHOnfGfJK%2FAoyaHViv8D5HXqAThC1uynwcWb%2F3NEghpSY2gMyEnp67S49ZJLcOaN08E%2FHUA3kSSDWZu5JDSRhj%2F7ZVBAaS89KO3KusMrk852siwrgatX%2BujrUEqBl7Y%2BWsNv7wOULWzTy1y4HJUEs6HRCrd05P3ss6QJ1WYNf2Xp1F%2Fdn%2BOVznZvOmQwoBr%2BPpOfYVflTEloTPpdb2HRRlrj40swJMGjB7Zhrw7Wl9n5qZybrfZG5K2p3nqRpbPHxBNg%2BOtj9FnTmJsA1mK2MAgxe77jYclJifc6dAYkCokBfZO67pB3kmstk0LUgyZUFx5%2F%2BURmXxoXaxjPYunCaahOz6tyeSlel%2B2XdV8CBVPG5SNruILCwp%2FhRBmaG%2B0yfQc%2FMZ2xWHiL8RkDC1qt2fBjqkAUDiK5Z8OfhLlDBjiLWouICpcUsnb8uJ5DHCsu1X8PrOFkuFvBOrrE3efV6dAJrO7keWm2m5zIiihTStoAlgSUBeTi8pNEKHOrpR1mLerU0P0q6QzdW1qsFdenh95NiG0zvLvY16WCdo0b01MNGVruQTeFYQHqXs%2BBY0ebDu7fq03m1CKOMV49zkMEzKa1sGrOKoI9IzoO50c%2FhcTcuyl5EfqEDZ&X-Amz-Signature=752133ed4a493b71c2cb1d66ac2a7a9d88e1e42fbb6e1e3cfd97becf26e288b9&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-nodeid%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ad7e9d858eb50007abbb19&x-amz-meta-channel=12&x-amz-meta-fileid=63f78be90f6ed30008e709fc&x-amz-meta-filename=Import_Test_sandbox_s3.csv&x-amz-meta-nodeid=60ad7e9d858eb50007abbb19&x-amz-meta-prefix=item&x-amz-meta-stage=sandbox",
    "key": "item/60ad7e9d858eb50007abbb19/sandbox/1677167593775-Import_Test_sandbox_s3.csv"
}

3. Upload CSV file to Bulk Import Items

Use this endpoint to attach your CSV file (as binary file) to the url you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request PUT 'https://greatwall-sandbox-sandbox-bulk-import-pim.s3.amazonaws.com/item/60ad7e9d858eb50007abbb19/sandbox/1677167593775-Import_Test_sandbox_s3.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASSWWDZ46GMQUM2WV%2F20230223%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230223T155314Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFQaCXVzLWVhc3QtMSJIMEYCIQDoLPY9u84GJsygAsmKxttW3rJbwXe1cY%2Buk73tITGnCQIhANRYdyng2i4whjEh5pyWNnZwtEsAgz3KBXdP%2BoiLRPrWKvwDCO3%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQARoMMTc3NjE2NDQxMTQ4IgxAj8AuEzLV%2BKZtyCQq0AN9EfQs8J%2Ftjm5zQR%2FV%2FH10oh%2FC1Q6UZMBTB69%2FHnXMgrEmcYX1PIHGZEL3vkfO3In%2Fig%2FLZQ9eT8odcHxS872s8XUwIBvIAa30abSdSz0REt0lCH5GUFCAVmqLzAS2wsVwivGpumITUp48M0tZb4MmpkJS54boIavZQyXo%2FA5GExqbQFHkrh4FQ0AACc24F%2FDozyaEBPsO33a0WGIVUTC8ZsDkic%2BHOnfGfJK%2FAoyaHViv8D5HXqAThC1uynwcWb%2F3NEghpSY2gMyEnp67S49ZJLcOaN08E%2FHUA3kSSDWZu5JDSRhj%2F7ZVBAaS89KO3KusMrk852siwrgatX%2BujrUEqBl7Y%2BWsNv7wOULWzTy1y4HJUEs6HRCrd05P3ss6QJ1WYNf2Xp1F%2Fdn%2BOVznZvOmQwoBr%2BPpOfYVflTEloTPpdb2HRRlrj40swJMGjB7Zhrw7Wl9n5qZybrfZG5K2p3nqRpbPHxBNg%2BOtj9FnTmJsA1mK2MAgxe77jYclJifc6dAYkCokBfZO67pB3kmstk0LUgyZUFx5%2F%2BURmXxoXaxjPYunCaahOz6tyeSlel%2B2XdV8CBVPG5SNruILCwp%2FhRBmaG%2B0yfQc%2FMZ2xWHiL8RkDC1qt2fBjqkAUDiK5Z8OfhLlDBjiLWouICpcUsnb8uJ5DHCsu1X8PrOFkuFvBOrrE3efV6dAJrO7keWm2m5zIiihTStoAlgSUBeTi8pNEKHOrpR1mLerU0P0q6QzdW1qsFdenh95NiG0zvLvY16WCdo0b01MNGVruQTeFYQHqXs%2BBY0ebDu7fq03m1CKOMV49zkMEzKa1sGrOKoI9IzoO50c%2FhcTcuyl5EfqEDZ&X-Amz-Signature=752133ed4a493b71c2cb1d66ac2a7a9d88e1e42fbb6e1e3cfd97becf26e288b9&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-nodeid%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ad7e9d858eb50007abbb19&x-amz-meta-channel=12&x-amz-meta-fileid=63f78be90f6ed30008e709fc&x-amz-meta-filename=Import_Test_sandbox_s3.csv&x-amz-meta-nodeid=60ad7e9d858eb50007abbb19&x-amz-meta-prefix=item&x-amz-meta-stage=sandbox' \
--header 'Content-Type: text/csv' \
--data-binary '@/Desktop/Import_Test_sandbox_s3.csv'

4. Get Upload Status

Once file upload is completed, use this endpoint to check the upload status by passing the query parameter fileId, which you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/file/{fileId}/status' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

5. Get Item Import History

Use this endpoint to view history of all Item imports and their statuses.

Copy
Copied
curl --location --request POST 'https://<env>.copilot.fabric.inc/api-product/v1/product/file/search' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "page": 1,
    "size": 10
}'

Bulk Import Bundles

1. Get Template for CSV File

This endpoint gives you the Header columns to be included in the CSV file, along with the hierarchy name, to bulk import Bundles.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/template/bundle/{accountId}/{nodeId}' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

2. GET S3 bucket URL

Use this endpoint to get url for AWS S3 bucket to which you need to upload your CSV file. The response also includes fileId, which is required to get status of the file import.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/upload-url/bundle' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}
--header 'Content-Type: application/json' \
--data-raw '{
    "nodeId": "62b2a84d2b69666aad40efd4",
    "fileName": "bundleImport.csv"
}'

Example Response for above API request

Copy
Copied
{
    "fileId": "63f78cb10f6ed30008e70a02",
    "url": "https://greatwall-sandbox-sandbox-bulk-import-pim.s3.amazonaws.com/item-bundles/60ad7e9d858eb50007abbb19/sandbox/1677167793691-bundleImport.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASSWWDZ46H5JIITM3%2F20230223%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230223T155633Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLWVhc3QtMSJGMEQCIGDZ8k%2B6yaUs4YiOizK9J6QBuqiOAhK5bZStB4d%2FeE5LAiBI%2BW7oiBYvaV%2B2LBhVJ%2BRR9JZ4F2u%2F8k9vS3iqKDnDqSr8Awjv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAEaDDE3NzYxNjQ0MTE0OCIMGD1RbF%2Bm8yYdGZ6oKtADsPtRqkoX0%2BJ2AuqtMHbsoKAlmJadRKPHfchr9U3ctGKdmL4d2Fr5tVrQa2jV%2BZ%2BqZWPdwU6S8HJUj7xCy9HuS%2F%2BK%2FGwyI1JEv4CE5%2Blju%2FT5zpZh0lxxl7h2iaXtHP9uKDE214MTIx9dtszEsriGre9JjocptDpfAq6jebQM4uTaiVcNJR7y3a1NS1CkiLazWi66jVxZHGjOcVTCe7OBuaIv3YOLCRBafiXXWAW1vIEQg1GPWmlSxK4XGkp5T%2BYQPmzcFM4HDYRkOqPWpjcqYUc2LvHBMlmRJ7X%2FpCVVhsHf1wa%2FQlpp0mkZCqixcNkAJ6Ctziz6IqIVWXYvu6isVhdSrc1bF9QEyMI8XXGjjeilSJvAlkO0RQnGUXeTILRU7LHCZ0tTy3E9vyIp1x%2B1rM2rDQXv77vIYCFkhUK2J9QWOmTnScEJkqYMO%2BmN3GwbNkemarUSnxK1zGRh6ZQ5ER3Ci%2BZ9J%2BW3RU3D60H3v5fteJOQ5K0mb%2BDrPRjp3qHKB%2BZdiP%2BFI4Q%2FDVQq7SSkuSznaOi%2FdTcO1s0KwaArb%2BjPoaUIFx%2BPA%2FQhXfeHVeAe5ugFU9MPBcYQpaGU5vmeWFUTWR%2BH8JNBBvSMoAQ81qAwg9zdnwY6pgH23jqbbl%2B8Yb7YhvK9u5wZu7%2FGw6u%2BpIyB03xcu9RpM1iWGoWt35YIA6cI1IyOD9y1LQ3r36sP%2BnUImTiTXOY1iNB%2BSatryjzHRd8gtrCQem16UkSrHpFavl93IXXqG3md5ZIMdvKHr6l7cBFpxJpyyQoo6vwgqyXA3FPT%2Fx%2FF5rih6hPc2vkDsHnCY1DzuPhCbPwI3%2FJuF49%2FWVQ%2Fv4TxaCtznWDM&X-Amz-Signature=0024e66f9bf7b2c3f921c7e11271a0115a473c834de6094965b7b2e0ea629195&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-nodeid%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ad7e9d858eb50007abbb19&x-amz-meta-channel=12&x-amz-meta-fileid=63f78cb10f6ed30008e70a02&x-amz-meta-filename=bundleImport.csv&x-amz-meta-nodeid=62b2a84d2b69666aad40efd4&x-amz-meta-prefix=item-bundles&x-amz-meta-stage=sandbox",
    "key": "item-bundles/60ad7e9d858eb50007abbb19/sandbox/1677167793691-bundleImport.csv"
}

3. Upload CSV file to Bulk Import Bundles

Using this endpoint, you can attach your CSV file (as a binary file) to the URL you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request PUT 'https://greatwall-stg02-bulk-import-pim.s3.amazonaws.com/item/60ac19ef893ab1000864b771/stg02/1650446551945-test_s3_import.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA26KLJWUAMIB6WQGP%2F20220420%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220420T092234Z&X-Amz-Expires=300&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFcaCXVzLWVhc3QtMSJGMEQCIEAuZzeGtYngoGn7f8pZg8EKD6ojuUdRjPaoReD1jyXgAiBNz9Lzs6nEd%2FCjRay96pQbPZS5ANMvKz2x4QhvjymcbyrvAwgQEAIaDDc1MjMxNDA3MDI3MiIMEB9T3tII8hgS3gZEKswDLCxImfGa3oIA%2FJgGgnwrQ%2B%2BycR2s2lK4RasblL1dpYgoJ7nCbRAmvK%2FEKiUijr8AsTn45gvCMYNPx85HpEwagvVPcLWon6%2FK%2BKzX9OzyBMtYhGE1T7xkkQFIukvnkqTk9O11Nze4jeoqgSZz8P9ZsJtwO2OB3SzlrI%2FbMmqJVndo9gi7cxGkfWqrYkAJZDCz2Jte5BylOffzQGAzt%2BvJb8Mp064jMtrIg2KoG0GP%2BB1mxgP9tTFl1IAp5lfCVObE7Mp9njlRHe7en52WUb4m4abZ1r8h5rpyoLCqcadvRkzaF%2FEIGb2cntOtdwzpdXM6tAfE4klFYbU%2FXhjzgMyKWrDrU%2F9SPO9ADFvH2YOXLo%2FQZwVWktbEvN%2BiOjEUnp7xMs2XG72LL9bJfFQkucfsUQBi8Gqn9gHaC5UKOxTEl7vlseznQQne2OrguDaZjzBa8PBDPQBnlW185F0qWw8mbVERcS1lFFHUSI74hqhBL0H3P7DZ%2FMmlviAaHSHax0RvwLL%2Bv%2BML07sdiIthpnF5LKyt8d3k6NmIakEySxAjBuY9qM%2By%2FTfpMPsQkel%2FkFe7rzpORt48A1eDnN3jZYQnmspg8wjEVfMgC7i6IDCy2f6SBjqmARtbCf%2Bw%2FCZJOZjVzUCxjsTpBT%2FMOcY6OMWS2q0arjzBOX9zVUzltD63KTsMjjih6mfa7Vv9piSwg%2Bqg4kBT6mvOTEgUksSJOw4%2FSyQaR3FAvXdCZkvd97xOMCgXWOotpvvYy9OlRQDalW5PjF5hh3hR8AEh%2FJ88kGeszOMNRUKzrut4drS02V3irAjYEaF5NyFgPLiwxCHwFblF3nit3AKeywL3D%2BA%3D&X-Amz-Signature=e48e53cf183596b9c68dcda85bdb26d145c05f613b32322285a23a150db3163d&X-Amz-SignedHeaders=host%3Bx-amz-meta-account%3Bx-amz-meta-channel%3Bx-amz-meta-fileid%3Bx-amz-meta-filename%3Bx-amz-meta-nodeid%3Bx-amz-meta-prefix%3Bx-amz-meta-stage&x-amz-meta-account=60ac19ef893ab1000864b771&x-amz-meta-channel=12&x-amz-meta-fileid=625fd0da08d45e0009f583e3&x-amz-meta-filename=test_s3_import.csv&x-amz-meta-nodeid=6256a1d7e70fcb5135e381f0&x-amz-meta-prefix=item&x-amz-meta-stage=stg02' \
--header 'Content-Type: text/csv' \
--data-binary '@/Desktop/BundleImport.csv'

4. Get Upload Status

Once file upload is completed, use this endpoint to check the upload status by passing the query parameter fileId, which you got in the response of Get S3 bucket URL endpoint.

Copy
Copied
curl --location --request GET 'http://<env>.copilot.fabric.inc/api-product/v1/product/bulk/file/{fileId}/status' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}'

5. Get Import History for Bundles

Use this endpoint to view history of all Bundle imports and their statuses.

Copy
Copied
curl --location --request POST 'https://<env>.copilot.fabric.inc/api-product/v1/product/file/bundle/search' \
--header 'x-site-context: {"stage":"<env>","account":"<...snip...>","date":"2021-09-28T21:27:29.806Z","channel":12}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "page": 1,
    "size": 10
}'