Celigo blob error message

Hello,

Anyone getting this type of error when pushing a pdf file from netsuite to shopify?

[
    {
        "field": "http.body",
        "code": "invalid_http_body",
        "message": "The body does not have valid data required for multipart/form-data request. Details=Invalid value for "value" field. If type="attachment" then accepted values for "value" field is "{{blob}}" or "{{{blob}}}"."
    }
]

Thanks in advance.

What does your Shopify import look like?

Hello Tyler,

See import:

but the error is before this flow. It is in the previous flow http connection and there is an issue in the blob this is why on the shopify import the pdf is black screen.

error in http flow:

[
    {
        "field": "http.body",
        "code": "invalid_http_body",
        "message": "The body does not have valid data required for multipart/form-data request. Details=Invalid value for "value" field. If type="attachment" then accepted values for "value" field is "{{blob}}" or "{{{blob}}}"."
    }
]

Hello Tyler,

I already have all the required information but the there is something wrong related to the blob. By the way, the blob is the binary file base64 ?

Can you send the import config for the HTTP step that is attempting to upload this file?

Hello Tyler,

Where are you getting this base64 version of your file?

base64=from netsuite

So there are two ways to do this:

  1. You have a file saved search export, then a file lookup step that gives you a blobKey, then an import step to your destination system where you use the blobKey and the "Transfer files" import type. See an example here: NetSuite File Cabinet to SharePoint Doc Library - #5 by tylerlamparter
  2. You already have the base64 version of the file like you do, but you don't use the "Transfer files" import type and instead use the "Record" import type. The "Transfer files" import type is only used when you have a blobKey from a prior step.

Both options are valid, but option 1 is recommended because it would support any file size. Option 2 only supports files where the base64 version of the file fits on a single page, and since the page size limit is 5 MB, that's how large your file could be. Typically, a base64 version of a file is 30–50% larger than the raw file.

So you're getting the error because you're using the "Transfer files into destination application" and then not using a blobKey.

I will follow your instructions. But I tried to use both options. I tried first the option import records then when i get the blob error i tried to use the transfer. I thought that the error blob because the base64 was invalid thats why celigo give this error each time.

I get the blob error because the value below is invalid for celigo:

the value for file is invalid:

Any idea why still getting the error message pls?

Thanks

Like I said, using transfer file import types require a blobKey and you don't have that and that's why it's failing. When you do have a blobKey and use multipart form, you have to spcify {{blob}} in the body because we use that as a reference for where to stream the file contents.

If you keep this base64, you need to use record based imports.

Hello Tyler,

This is mutation from the filecreate:

[
{
"statusCode": 200,
"id": "gid://shopify/GenericFile/44636595126588",
"_json": {
"data": {
"fileCreate": {
"files": [
{
"id": "gid://shopify/GenericFile/44636595126588",
"fileStatus": "UPLOADED",
"alt": "PDF from staged upload",
"createdAt": "2026-01-22T12:11:30Z",
"url": null,
"mimeType": null
}
],
"userErrors

Hello Tyler,

You are right. I will be using the option 1 file transfer as recommended. But I am not sure how to get the blobkey. Any further guidance on how to get the blob key? because i have restlet script that give me several fields information not only the pdf in base64 etc.

Thank you in advance.

In the post above, where I linked to a NetSuite -> SharePoint use case, there’s a flow ZIP you can download and install in your environment. From there, you should be able to see what’s going on. In summary, it’s an export to get a list of files in NetSuite, then a lookup file step to get the blob. I’m not sure what the rest of your flow looks like, though, so it may not be the same.

You mention you’re using a RESTlet, but is that just because you were trying to get the file? Potentially, just returning the file ID would be fine. You could also use a lookup to your RESTlet and still get the base64, but have the lookup convert it to a blobKey.

Create a lookup to “lookup additional files,” make the same API call, set your path to file as the path to where the base64 string is, and set encoding to base64.


Hello Tyler,

Thank you for your email. I will try.

Thanks a lot.

@tylerlamparter I download the integration. However, on the “netsuite step- Get file blob“, i got the error “media item not found“. Any idea why? By the way, I created a saved search which display the internal id of the invoice. This is retry data: {
"id": "13763",
"recordType": "invoice",
"Internal ID": "13763",
"Document Number": "INV01"
}. Message:
Media item not found 13763

Code: media_not_found

Source: NetSuite.

Any idea why getting this error please? Thank you

@tylerlamparter I have trried again. I managed to get the blob using your integration. The issue was related to the saved search. Thanks a lot :laughing: you are the best

1 Like