6月
05

Google Spreadsheetの顧客リストからhubspotのcontactを作ろうとしていて、hubspotAPIを使ってみている。

hubspotは本当にありとあらゆるものがAPIとして用意されている。Contactを作るものはこれ

https://developers.hubspot.com/docs/methods/contacts/create_contact

node.jsだと

var request = require("request");

var options = { method: 'POST',
  url: 'https://api.hubapi.com/contacts/v1/contact/',
  qs: { hapikey: 'demo' },
  headers: 
   { 
     'Content-Type': 'application/json' },
  body: 
   { properties: 
      [ { property: 'email', value: 'testingapis@hubspot.com' },
        { property: 'firstname', value: 'test' },
        { property: 'lastname', value: 'testerson' },
        { property: 'website', value: 'http://hubspot.com' },
        { property: 'company', value: 'HubSpot' },
        { property: 'phone', value: '555-122-2323' },
        { property: 'address', value: '25 First Street' },
        { property: 'city', value: 'Cambridge' },
        { property: 'state', value: 'MA' },
        { property: 'zip', value: '02139' } ] },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

となる。GASの方のサンプルはこれ

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app

// Make a POST request with a JSON payload.
var data = {
  'name': 'Bob Smith',
  'age': 35,
  'pets': ['fido', 'fluffy']
};
var options = {
  'method' : 'post',
  'contentType': 'application/json',
  // Convert the JavaScript object to a JSON string.
  'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://httpbin.org/post', options);

node.jsの方はAPIキーをqsのオプションで足しているのでそれをとりあえずURLにベタうち

function postHubspot(text){
  
  
  
  // Make a POST request with a JSON payload.
var data = {
  'properties': 
      [ { property: 'email', value: 'testingapis@hubspot.com' },
        { property: 'firstname', value: 'test' },
        { property: 'lastname', value: 'testerson' },
        { property: 'website', value: 'http://hubspot.com' },
        { property: 'company', value: 'HubSpot' },
        { property: 'phone', value: '555-122-2323' },
        { property: 'address', value: '25 First Street' },
        { property: 'city', value: 'Cambridge' },
        { property: 'state', value: 'MA' },
        { property: 'zip', value: '02139' } ], 

  'json': true  
};


var options = {
  'method' : 'post',
  'contentType': 'application/json',
  // Convert the JavaScript object to a JSON string.
  'payload' : JSON.stringify(data)
};

UrlFetchApp.fetch('https://api.hubapi.com/contacts/v1/contact/?hapikey="hubspotのAPIキー"', options);
  

};

これでとりあえず作成はできました。

About the Author

Leave a Reply