Sync NFT MetaData

image

My tests show that you have to call resync then call get nft requiring 10 requests per NFT to get its specific updated metadata.

Also noticed this – Note: /nft/{address}/{token_id}/metadata/resync has a billing cost of 5 and a rate limit cost of 25, meaning that you can call it only once per second with a free plan and twice a second with a Pro plan

I certainly am new to Moralis so if there is a better way, please let me know.

A bigger problem would be that you can call resync metadata only once per second.

Do you control that smart contract that does the reveal?

We do not control contracts but want to make them visible to people who want to present them in galleries.

If you know when a reveal is done you can run resync only after that once

When I know the date, I can schedule a metadata refresh. what I’d like is a single call to Moralis with a contract_address and you guys refresh the meta for all of the token_ids.

1 Like

Moralis is currently working on resyncing of entire collections at once yes.

2 Likes

I guess I’ll do some just-in-time metadata updates when someone views a single NFT until that’s ready. Any kind of rough prediction of availability would really help me plan my roadmap. Thanks!

Great can we get an ETA on this.

@cryptokid Any update on resyncing collections?

1 Like

Moralis now supports refresh for all NFTs automatically Moralis Updates NFT Metadata

@emorling

1 Like

Any idea how to use with unity ?

This is the method i use on a “refresh” button:

public async void resyncMetadata()
    {
        await Moralis.Web3Api.Token.ReSyncMetadata(address: "0x34d85754fbad12eca81e2afe6a7648051574a63c", tokenId: "2", GameManager.ContractChain);

    }

But it doesnt seem to work, its been hours

what exactly doesn’t work? what is current output and what is the expected output?

Hi there !
Thanks for the reply !

Between pre-reveal and reveal, the metadata in unity have not changed, but they did on opensea.
I have used this resyncMetadata method on a single token to test the update but nothing happened, it is still the unrevealed uri and metadata.

you have to use the uri flag for that resyncMetadata, it will not work if you don’t use uri flag

1 Like

ok thank you, struggling with syntax:

public async void resyncMetadata()
    {
        await Moralis.Web3Api.Token.ReSyncMetadata(address: "0x34d85754fbad12eca81e2afe6a7648051574a63c", tokenId: "2", GameManager.ContractChain, flag: "uri");

    }

But this shows error: “The best overload for ‘ReSyncMetadata’ does not have a parameter named ‘flag’”

what am I missing?

I don’t know the syntax for unity, you can call a cloud function or use the web3api interface directly

arf okay thanks!

Have no idea how to do that within unity.

You can call a cloud function with a simple http request

syn my nfts on bnb contract
0x0de355aa9364b14c17b9a117d779d3dc4a6ff09e

I replied in the new forum thread that you created