2016-04-22 4 views
0

Ich versuche, einen Post-Aufruf in Javascript einzurichten, um einen Kontakt in meinem Hubspot-Konto zu erstellen. Ich bin neu in Rest API und wie das alles funktioniert. Das sagt die Dokumentation dazu.Post Anruf in Rest API

Erforderliche Parameter Verwendung Beschreibung HubSpot-API-Schlüssel ----- hapikey = X ---- Wird in der Anforderungs-URL verwendet Der HubSpot-API-Schlüssel für das Portal, für das Sie den Aufruf tätigen.

Kontakt JSON ----- Wird im Anfragetext verwendet ----- Dies ist JSON, das einen Kontakt darstellt, den Sie erstellen. Dies sollte das Format haben, das unten im angegebenen Codebeispiel angezeigt wird.

E-Mail-Adresse ----- Wird im Anfragetext verwendet ----- Bitte beachten Sie, dass die E-Mail-Adresse ein erforderlicher Teil des JSON ist, den Sie beim Erstellen eines neuen Kontakts an HubSpot senden. Optionale Parameter Verwendung Beschreibung

Keine Keine Keine optionalen Parameter für diese Methode.

Beispiel URL Post an: https://api.hubapi.com/contacts/v1/contact/?hapikey=demo

ich das Beispiel bekommen und ich kann telefonieren bekommen die hapikey = Demo verwenden. Was ich nicht verstehe, ist das im Request Body verwendete. Was bedeutet das genau und wie setze ich es um? Ich kann keine Dokumentation finden, um den JSON tatsächlich auf den Post-Aufruf zu laden. Hier

ist, was ich habe

var testContact = '{"properties":['+ 
       '{"property":"email","value":"[email protected]"},'+ 
       '{"property":"firstname","value":"Peter"},'+ 
       '{"property":"lastname","value":"xxxxx"}]}'; 

       var test = JSON.parse(testContact); 
       //alert(test.properties[1].value); 
       //console.log(test.properties[1].firstname); 

       $.post("https://api.hubapi.com/contacts/v1/contact/?hapikey=demo&contact=" + testContact + "&email=" + test.properties[0].value,function(result){ 
       console.log(result); 
       }); 

Ich halte eine schlechte Anfrage vom Server bekommen, so dass es Verbindungs ​​werden muss, und ich bin die Einrichtung der Informationen falsch.

UPDATE

i So un „Zeichenfolge es“ und was interessant ist, wenn ich versuche und übergeben, die ich bekomme nur ein Objekt und nicht die gesamte Zeichenfolge.

https://api.hubapi.com/contacts/v1/contact/?hapikey=3fd8a881-2859-4c85-bec8-690bd989a889&contact=[object%20Object]&[email protected]

var testContact = { 
       "properties": [ 
       { 
        "property": "email", 
        "value": "[email protected]" 
       }, 
       { 
        "property": "firstname", 
        "value": "Adrian" 
       }, 
       { 
        "property": "lastname", 
        "value": "Mott" 
       }]}; 


       $.post("https://api.hubapi.com/contacts/v1/contact/?hapikey=3fd8a881-2859-4c85-bec8-690bd989a889&contact=" + testContact + "&email=" + testContact.properties[0].value,function(result){ 
       console.log(result); 
       }); 
+0

Haben Sie von PostMan gehört? Es ist eine ziemlich coole kostenlose App, mit der Sie eine Menge API-Sachen machen können, ich schlage vor, Sie versuchen es ... https://www.getpostman.com/ – JordanHendrix

+0

Ja, ich bin tatsächlich heute darüber gestolpert, aber ich kann nicht scheinen Um irgendwelche Postanrufe damit zu machen bekomme ich nur Anrufe. Ich bin mir nicht sicher, wie ich das JSON richtig formatiere. es scheint, wie eine coole App obwohl – Peter3

+0

Ich kann sagen, dass Ihr JSON-Objekt Probleme hat, versuchen Sie es: sehen, was Postbote von der Get zurück, müssen Sie das gleiche Format zurück zu Hubspot aber mit den richtigen Werten ..., du ' re schließen Mann ... – JordanHendrix

Antwort

0

Ihre JSON ist falsch, keine Notwendigkeit, "stringify" und dann analysieren .... nur ein Objekt senden wie so:

Ich weiß, dass Sie diese Seite gesehen haben: http://developers.hubspot.com/docs/methods/contacts/create_contact

versuchen genau das Objekt, das sie auf dieser Seite haben zu kopieren, ändern sie nicht anders als die Eigenschaften ausziehen Sie nicht brauchen ... schicken

{ 
      "properties": [ 
       { 
        "property": "email", 
        "value": "[email protected]" 
       }, 
       { 
        "property": "phone", 
        "value": "555-122-2323" 
       }, 
       { 
        "property": "address", 
        "value": "25 First Street" 
       }, 
       { 
        "property": "city", 
        "value": "Cambridge" 
       }, 
       { 
        "property": "state", 
        "value": "MA" 
       }, 
       { 
        "property": "zip", 
        "value": "02139" 
       } 
      ] 
     } 
+0

so mit dieser mir einen Syntaxfehler gibt. den Kontakt ist mit = und E-Mail = sogar richtig? ich habe gerade auf dem erraten bin. var testContact = { \t \t \t \t „Eigenschaften ": [ { " Eigenschaft ":" E-Mail ", " Wert ":" [email protected] " }, { "Eigentum": "Vorname", "Wert": "Adrian" }, { "Eigentum": "Nachname", "Wert": "Mott" }]}; \t \t \t \t \t \t \t \t var test = JSON.parse (testContact); – Peter3

+0

Ja, der Link, den du gepostet hast, war das, was ich ursprünglich oben gepostet habe. Mein Problem ist, dass es nicht teilt, wie man E-Mails und Kontakte richtig formatiert. Für den Schlüssel zeigt es dir im Beispiel. Für alle die ich kenne kann der Kontakt = und email = falsch sein. – Peter3

+0

Ich kann nicht sagen, dass ich das verstehe, aber ich habe es gerade zur Arbeit gebracht. $ Schnipsel ({ \t \t \t \t \t \t Typ: "POST", \t \t \t \t \t \t url: „https://api.hubapi.com/contacts/v1/contact/?hapikey=demo “ \t \t \t \t \t \t verarbeite: false, \t \t \t \t \t \t content:‚application/js auf‘ \t \t \t \t \t \t Daten: JSON.stringify (testContact) \t \t \t \t \t \t success: Funktion (r)} { \t \t \t \t \t}); – Peter3