问题
I'm using the "playground" to test creating a segment but I keep getting validations errros
my request:
{
"name": "MyTest",
"options": {
"match": "any",
"conditions": [
{
"field": "EMAIL",
"op": "is",
"value": "p001@mymaildomain.xxx"
},
{
"field": "EMAIL",
"op": "is",
"value": "p002@mymaildomain.xxx"
}
]
}
}
response is:
type: http://kb.mailchimp.com/api/error-docs/400-invalid-resource
title: Invalid Resource
status: 400
detail: The resource submitted could not be validated. For field-specific details, see the 'errors' array.
instance:
errors:
0:
field: options.conditions.item:0
message: Data did not match any of the schemas described in anyOf.
1:
field: options.conditions.item:1
message: Data did not match any of the schemas described in anyOf.
回答1:
Actually the format of the JSON should be as following:
{
"name":"email based",
"options":{
"match": "any",
"conditions":[
{
"condition_type":"EmailAddress",
"field":"merge0",
"op":"is",
"value":"p001@mymaildomain.xxx"
},
{
"condition_type":"EmailAddress",
"field":"merge0",
"op":"is",
"value":"p002@mymaildomain.xxx"
}
]
}
回答2:
For others also having this issue, it also occurs when you do not provide a key / value for all defined merge fields. It can also happen if you use different case when passing in merge fields. So if you have the following merge fields defined, whether they're set as required or not :
Age Gender
Make sure you always pass in key/value pairs for both Age and Gender, using that exact same case. If you only pass in "Age=25" or "age=25", without passing in "Gender=", the above described error will occur, because it is not a well designed API.
来源:https://stackoverflow.com/questions/32849116/cannot-create-segment-using-mailchimp-api-v3