Catenis API endpoint issue and other question

Dear Support,

I’m still in the process of learning using Sandbox. I did learn and follow the instructions (documentation) and found out the following error/problem:

  1. Send Message Node → Question: where to find Target Device ID?

  2. Retrieve Message Container → “Error returned from Catenis API endpoint: [403] No permission to retrieve message container” → Question: how to get the Permission to Retrieve Message Container?

  3. Retrieve Message Progress → “Error returned from Catenis API endpoint: [400] Invalid or expired ephemeral message” → Question: is this referring to the Message ID I’ve obtained from Log Message?

  1. Issue Asset Node → “Error returned from Catenis API endpoint: [400] Invalid holding device”
    Note: I’ve inserted “null” in the Holding device ID as per the documentation in this link https://blockchainofthings.com/issue-asset-node/ but the error still occurs.

Appreciate your technical advice, thank you.

  1. Send Message Node → Question: where to find Target Device ID?

You need to create a second virtual device in your administrative dashboard if you would like to assign the tokens you are creating to a different device. Your target device is you second device you are sending to. If you would like to assign it to the device you are issuing (minting) from you would just leave the entry blank.

  1. Retrieve Message Container → “Error returned from Catenis API endpoint: [403] No permission to retrieve message container” → Question: how to get the Permission to Retrieve Message Container?

If you did not change any permissions setting you should be able to access all messages from all Virtual devices you created in your administrative dashboard that belong to your account. Are you sure you are supplying the correct message ID to the retrieve container node?

  1. Retrieve Message Progress → “Error returned from Catenis API endpoint: [400] Invalid or expired ephemeral message” → Question: Is this referring to the Message ID I’ve obtained from Log Message?

The message has already been logged so there is no way to monitor it after the fact. This node is typically used for large message monotoring.

  1. Issue Asset Node → “Error returned from Catenis API endpoint: [400] Invalid holding device”
    Note: I’ve inserted “null” in the Holding device ID as per the documentation in this link https://blockchainofthings.com/issue-asset-node/ but the error still occurs.

This seems like you are defining a Virtual device you are issuing Assets to that does not exist ( you have not created in your admin Dashboard). Please provide the JSON object you are passing to the Issue Asset node so we can help you troubleshoot it. It is always good practice to let us view the JSON file as it makes it easier to know what may be going on.

Hi Andre,

Many thanks for your prompt response. To revert the status of each based on your reply yesterday:

  1. You need to create a second virtual device in your administrative dashboard if you would like to assign the tokens you are creating to a different device. Your target device is you second device you are sending to. If you would like to assign it to the device you are issuing (minting) from you would just leave the entry blank. → Status: Successful

  2. If you did not change any permissions setting you should be able to access all messages from all Virtual devices you created in your administrative dashboard that belong to your account. Are you sure you are supplying the correct message ID to the retrieve container node? → Status: No Error Returned but stated as “offChain: object, externalStorage: object”

  3. The message has already been logged so there is no way to monitor it after the fact. This node is typically used for large message monotoring. → Status: Failed as I don’t have the ID of Asynchronous message.

  4. This seems like you are defining a Virtual device you are issuing Assets to that does not exist ( you have not created in your admin Dashboard). Please provide the JSON object you are passing to the Issue Asset node so we can help you troubleshoot it. It is always good practice to let us view the JSON file as it makes it easier to know what may be going on. → Status: Successful! Able to produce assetID: a7y*****************

As for Item no. 2 - Although it does not return Error, I do not adjust any related setting, it seems that it automatically “saved” in “externalStorage” even though I leave it be to saved under “Auto”. Or is this okay?

Please advise, thanks so much for your kind guidance.

As for Item no. 2 - Although it does not return Error, I do not adjust any related setting, it seems that it automatically “saved” in “externalStorage” even though I leave it be to saved under “Auto”. Or is this okay?

If it is set to Auto and the content is above 75 bytes it will automatically save it to external storage. The is because a bitcoin transaction can only hold up to 80 bytes of information on its prune-able output (OPT_RETURN). 5 bytes is reserved for the Catenis. “Auto” defines how and where it places the content NOT if the message is sent on-chain or off-chain. If the content is sent off-chain then its message metadata will be logged to the blockchain every 6 hours. This logging is proof of occurrence on the blockchain that the content itself was transmitted in real-time across the time-chain (bitcoin blockchain). Off-chain messages are aggregated to reduce fees. You will need to wait till the off-chain transaction settles to gather all the information on the message to get the root bitcoin transaction that logged the message.

Okay noted with thanks for your clarification. I understand fully and will take note of it. Thanks again.