How to set taxonomy ID metadata values with OpenAPI?

I am migrating a content import application from Tridion Docs WCF/SOAP  to OpenAPI. I’m having a problem trying to set taxonomy-related metadata values when creating a new object. (POST /v3/DocumentObjects).

WCF accepted taxonomy id values in XML metadata like the following:

<ishfield name="FCUSTOMFIELD1" level="logical" ishvaluetype="id">48720490</ishfield>

I’ve tried a number of REST metadata structures to approximate the same functionality but get either a 400 error or 500 error depending on the json that I send. My latest json below returns a 500 error. What am I doing wrong?

{
"folderId": 35160071,
"fields": [
{
"type": "SetTagFieldValue",
"ishField": {
"name": "FCUSTOMFIELD1",
"level": "version"
},
"value": {
"id": "17574057"
}
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "FTITLE",
"level": "logical"
},
"value": "Publication map"
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "FMASTERTYPE",
"level": "logical"
},
"value": "Map"
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "FSTATUS",
"level": "language"
},
"value": "Draft"
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "FAUTHOR",
"level": "language"
},
"value": "importTester"
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "DOC-LANGUAGE",
"level": "language"
},
"value": "en-US"
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "VERSION",
"level": "version"
},
"value": "1"
},
{
"type": "SetObjectFieldValue",
"ishField": {
"name": "EDT",
"level": "none"
},
"value": {
"type": "SetElectronicDocumentType",
"id": "EDTXML"
}
},
{
"type": "SetStringFieldValue",
"ishField": {
"name": "FMAPID",
"level": "logical"
},
"value": "GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}

emoji
Parents
  • I figured this out and my solution is working correctly now. I'm not sure how to delete my post, so I'll post the resolution instead. I was getting the 500 error because I had a BOM in my content stream. I removed that and then got some 400 errors because the way I was structuring the metadata was incorrect. Here is the corrected version of the metadata:

    {
    "folderId": 35161127,
    "fields": [
    {
    "type": "SetStringFieldValue",
    "ishField": {
    "name": "FTITLE",
    "level": "logical"
    },
    "value": "My Publication Title"
    },
    {
    "type": "SetMultiTagFieldValue",
    "ishField": {
    "name": "FCUSTOMFIELD1",
    "level": "version"
    },
    "value": [
    {
    "id": "17574057"
    }
    ]
    },
    {
    "type": "SetMultiTagFieldValue",
    "ishField": {
    "name": "FCUSTOMFIELD2",
    "level": "logical"
    },
    "value": [
    {
    "id": "60247324"
    }
    ]
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "FMODULETYPE",
    "level": "logical"
    },
    "value": {
    "id": "VMODULETYPETOPIC"
    }
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "FSTATUS",
    "level": "language"
    },
    "value": {
    "id": "VSTATUSDRAFT"
    }
    },
    {
    "type": "SetCardFieldValue",
    "ishField": {
    "name": "FAUTHOR",
    "level": "language"
    },
    "value": {
    "type": "SetUser",
    "id": "VUSERMNOVEMBRINO"
    }
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "DOC-LANGUAGE",
    "level": "language"
    },
    "value": {
    "id": "VLANGUAGEEN"
    }
    },
    {
    "type": "SetStringFieldValue",
    "ishField": {
    "name": "VERSION",
    "level": "version"
    },
    "value": "1"
    }
    ]
    }

    emoji
Reply
  • I figured this out and my solution is working correctly now. I'm not sure how to delete my post, so I'll post the resolution instead. I was getting the 500 error because I had a BOM in my content stream. I removed that and then got some 400 errors because the way I was structuring the metadata was incorrect. Here is the corrected version of the metadata:

    {
    "folderId": 35161127,
    "fields": [
    {
    "type": "SetStringFieldValue",
    "ishField": {
    "name": "FTITLE",
    "level": "logical"
    },
    "value": "My Publication Title"
    },
    {
    "type": "SetMultiTagFieldValue",
    "ishField": {
    "name": "FCUSTOMFIELD1",
    "level": "version"
    },
    "value": [
    {
    "id": "17574057"
    }
    ]
    },
    {
    "type": "SetMultiTagFieldValue",
    "ishField": {
    "name": "FCUSTOMFIELD2",
    "level": "logical"
    },
    "value": [
    {
    "id": "60247324"
    }
    ]
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "FMODULETYPE",
    "level": "logical"
    },
    "value": {
    "id": "VMODULETYPETOPIC"
    }
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "FSTATUS",
    "level": "language"
    },
    "value": {
    "id": "VSTATUSDRAFT"
    }
    },
    {
    "type": "SetCardFieldValue",
    "ishField": {
    "name": "FAUTHOR",
    "level": "language"
    },
    "value": {
    "type": "SetUser",
    "id": "VUSERMNOVEMBRINO"
    }
    },
    {
    "type": "SetLovFieldValue",
    "ishField": {
    "name": "DOC-LANGUAGE",
    "level": "language"
    },
    "value": {
    "id": "VLANGUAGEEN"
    }
    },
    {
    "type": "SetStringFieldValue",
    "ishField": {
    "name": "VERSION",
    "level": "version"
    },
    "value": "1"
    }
    ]
    }

    emoji
Children
No Data