2015-09-29 11 views
5

ich den "Spielplatz" mit einem Segment zu testen, zu schaffen, aber ich erhalte immer Validierungen Fehlern durchsuchenkann nicht erstellt Segment mit MailChimp API v3

meine Anfrage:

{ 
    "name": "MyTest", 
    "options": { 
     "match": "any", 
     "conditions": [ 
      { 
       "field": "EMAIL", 
       "op": "is", 
       "value": "[email protected]" 
      }, 
      { 
       "field": "EMAIL", 
       "op": "is", 
       "value": "[email protected]" 
      } 
     ] 
    } 
} 

Antwort ist:

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. 
+0

Das sieht für mich richtig aus; Ich habe genau diese Abfrage gerade auf eigene Rechnung versucht und es hat funktioniert - vielleicht wurde das Problem gelöst? – TooMuchPete

+0

@Hans: Können Sie mir bitte sagen, wie Sie die Segment-Erstellung auf mailchimp playgroung testen? Ich habe auch das gleiche Problem, aber ich habe verschiedene merge-Feld (d. H. Typ). Können Sie mir bitte helfen, mein Problem zu finden? Bitte werfen Sie einen Blick auf meine Frage zu SO - http://stackoverflow.com/questions/41465345/issue-when-requsting-create-segments-api-v3-through-php-wrapper | Github - https://github.com/drewm/mailchimp-api/issues/160 –

Antwort

6

Eigentlich sollte das Format des JSON wie folgt sein:

{ 
    "name":"email based", 
    "options":{ 
       "match": "any", 
       "conditions":[ 
           { 
            "condition_type":"EmailAddress", 
            "field":"merge0", 
            "op":"is", 
            "value":"[email protected]" 
           }, 
           { 
            "condition_type":"EmailAddress", 
            "field":"merge0", 
            "op":"is", 
            "value":"[email protected]" 
           } 
       ] 
    } 
+1

Nur um den Wert für das Feld zu erwähnen, kann entweder merge0 oder EMAIL sein. – codebusta

+0

Vielen Dank Ich habe für einen Tag mit Versuch und Irrtum getestet. Hinweis. Ich benutzte EMAIL, die nicht funktionierte, also benutzte ich merge0 und arbeitete wie ein Charme danke) – xiarnousx

+0

Sie sind willkommen, ich bin froh, dass es Ihnen etwas Zeit und Nerven ersparte;) – codebusta