Create Digital Passports using CSV

Mint multiple digital passports in one go by uploading a CSV file containing the necessary data. This feature allows you to efficiently create multiple passports simultaneously.

⚠️

  • Before uploading the CSV file, it's essential to create the digital passports group to which your digital passports will be assigned.
  • Each digital passport costs 1 credit.
  • Recovery time is automatically 5 years.
  • When you upload your CSV, the NFT Management Platform will check digital passports information line by line. When an error is detected, it is added in the CSV. Fetch your CSV after uploading to see potential errors.

CSV Compliance

File name

To retrieve your CSV following the file upload, the name must comply with our standards.

The naming must not include any special characters or spaces: csvOriginalName : [a-zA-Z0-9].*.csv*

CSV format

The provided CSV file must respect the following format:

product_group_idproduct_idtagsmintpublic_contentcontent
ProductGroupId1product1[“tag1”,“tag2"]truefalse{}
ProductGroupId1product2[“tag1”,“tag2"]truefalse{
"content": {
"serialNumber": "newSerialNumber"
}
}

💡

  • Special characters are accepted for the product_group_id and product_id.
  • If you don't want your digital passport to inherit the content of the digital passport group, add {}.
  • Upper and lower case are accepted for booleans: true/TRUE and false/FALSE.

Parameter

ParameterTypeRequiredDescription
product_group_idStringDigital passport group identifier of the group previously created.
product_idStringIdentifier of the digital passport.
tagsStringTags associated with the digital passport.
To add several tags, separate them using a comma.
mintBooleanWhether to create the digital passport directly on the blockchain.
public_contentBooleanVisibility on platforms like OpenSea.
contentObjectContent is optional. It is automatically inherited from the product group created above.
However, you may want to add or update an element for this particular digital passport (e.g. SKU).
⚠️ This content will overwrite the data if it is defined in the product group.

Upload CSV file

URL

To upload your CSV, use /productManagement/product/batch/upload.

POST - https://{{nmpUrl}}/productManagement/product/batch/upload

Parameter

ParameterTypeRequiredDescription
filemultipart/formCSV file.

Return Payload

Status CodeSuccessError Message
200trueSuccess
{
    "message": "File uploaded successfully."
}

Errors

Status CodeSuccessCodeError Message
400falsenpm.productManagement.formatErrrorThe CSV file is not formatted correctly.
400falsenpm.productManagement.formatErrrorThe CSV file already exists.
422falsenpm.productManagement.formatErrrorOnly one CSV file must be uploaded per request.
500falsenpm.productManagement.UnknownErrorAn unknown error has occurred.
{
    "message": "File with same name file.csv already exists.",
    "code": "npm.productManagement.formatErrror"
}
{
    "code": "npm.productManagement.formatErrror",
    "message": "Missing required columns: product_id"
}
{
    "message": "You should send only one file.",
    "code": "npm.productManagement.formatErrror"
}
{
    "code": "npm.productManagement.UnknownError",
    "message": "An error occurred while parsing the form data."
}

Fetch CSV file

URL

To fetch a specific CSV file uploaded on your NFT Management Platform, use /productManagement/product/batch/:csvOriginalName.

GET - https://{{nmpUrl}}/productManagement/product/batch/:csvOriginalName

Parameter

Path ParameterTypeRequiredDescription
csvOriginalNameStringName of the file.

Return Payload

Status CodeSuccessDescription
200trueThe CSV file is returned.
FieldDescription
token_idIdentification number of the digital passport on the network.
passphraseDigital passport passphrase.
errorBoolean returning if an error occurred while minting the digital passport.
⚠️ - When an error occurs, the explanation is returned and the status is not displayed.
- When there is no error, the field is empty.
statusMinting status of the digital passport on the network:
- draft: The digital passport has not been minted, the draft was created only.
- waiting: The transaction is waiting in the queue to be minted.
-pending: The minting is in progress.
- mint: The digital passport has been minted on the blockchain.
⚠️ - The status is returned empty if an error occurred.
group_id,product_id,content,tags,mint,public_content,error,status,tokenId,passphrase
groupTestBatch_CSV-1,productTestBatchCSV_2-20,"{""$schema"":""https://cert.arianee.org/version5/ArianeeProductCertificate-i18n.json"",""name"":""TestBatchCSV3"",""description"":""this is a description"",""sku"":""sku1""}","[""test1"",""test2""]",true,true,,minted,330502713,r2z235gzd7c7
groupTestBatch_CSV-1,productTestBatchCSV_2-21,"{""$schema"":""https://cert.arianee.org/version5/ArianeeProductCertificate-i18n.json"",""name"":""TestBatchCSV3"",""description"":""this is a description"",""sku"":""sku1""}","[""test1"",""testv2""]",true,true,,minted,885483253,su0v8uomwcnt

Errors

Status CodeSuccessDescription
404falseThe CSV file name does not exist.
{
    "message": "CSV file wrongCsvFileName not found."
}