Just putting "order-550e8400-e29b-11d4-a716-446655440000" does not make it an order id either, thats what foreign keys are for, mistakes can be made either way.
If your sending id via json you should be using json to encode type either:
{ order:"550e8400-e29b-11d4-a716-446655440000" }
Or if for some reason the value could contain multiple types:
{ thing: { t:"order", id:"550e8400-e29b-11d4-a716-446655440000" } }
Even then just use:
{ thing: { order :"550e8400-e29b-11d4-a716-446655440000" } }
This is redundant and not necessary adding overhead:
{ order: "order-550e8400-e29b-11d4-a716-446655440000" }
Storing that in your db as json even worse (Mongo, JSONB), storing as varchar in normal column not much better.
If your not storing ID with a type prefix in the db, then thats not the form of your id's that just the UI/encoding for them in your app which eliminates half the supposed advantage which was easy debugging say in db query tools. It also means you are parsing / deparsing "order-550e8400-e29b-11d4-a716-446655440000" somewhere in your db mapper code instead of just using your json or query string parser or protobuf or whatever, why?.