Facebook marketing api 将Facebook Lead广告整合到另一个平台
我正在开发一个web应用程序,它允许营销人员发布活动并产生潜在客户。我想将Facebook leads广告平台集成到我的web应用程序中,这样我就可以让营销人员在这两个平台上发布广告。为此,我需要从developers.Facebook.com获得一些资源或开发者API。我在那里进行了广泛的搜索,但没有成功。有人能给我指一下关于Facebook lead广告的特定开发者指南吗?你可以在你的应用程序中创建一个Webhook,当一个新的lead出现时触发 我采取的步骤一直在进行 只需制作一个Facebook Webhook可以使用的API端点Facebook marketing api 将Facebook Lead广告整合到另一个平台,facebook-marketing-api,Facebook Marketing Api,我正在开发一个web应用程序,它允许营销人员发布活动并产生潜在客户。我想将Facebook leads广告平台集成到我的web应用程序中,这样我就可以让营销人员在这两个平台上发布广告。为此,我需要从developers.Facebook.com获得一些资源或开发者API。我在那里进行了广泛的搜索,但没有成功。有人能给我指一下关于Facebook lead广告的特定开发者指南吗?你可以在你的应用程序中创建一个Webhook,当一个新的lead出现时触发 我采取的步骤一直在进行 只需制作一个Face
GET
及
然后,当你的Webhook处于活动状态时(这就是GET的目的),你可以在Facebook发送给你的端点的帖子中收到Lead信息
提供上下文的一些代码(使用Express的Node.js):
GET端点
// Confirm token that was set in the Webhook setup
exports.index = function (req, res) {
console.log(req.query);
var challenge = req.query['hub.challenge'],
verify_token = req.query['hub.verify_token'];
if (verify_token === 'YOUR_TOKEN') {
res.send(challenge);
}
};
'use strict';
var _ = require('lodash');
var fb = require('fb');
fb.setAccessToken('acces_token');
var getResponseAPI = require('getresponse-nodejs-api')('API_KEY');
exports.webhook = function(req, res) {
var leadName, leadEmail;
// Lead Info
var fbChanges = req.body.entry[0].changes;
var getLeadFromFacebook = new Promise(function(resolve, reject) {
if (fbChanges !== undefined) {
fbChanges.forEach(function(item, index) {
//You need to retrieve the User info from the changes because Facebook Just gives you UID
var getUserInfoFromGraph = new Promise(
function(resolve, reject) {
var leadId = item.value.leadgen_id;
fb.api(leadId.toString(), function(res) {
if (!res || res.error) {
console.log(!res ? 'error occurred' : res.error);
reject(res.error);
}
resolve(res);
});
}
);
getUserInfoFromGraph.then(function(userInfo) {
//To give you a picture the content of the data
console.log(JSON.stringify(userInfo.field_data));
userInfo.field_data.forEach(function(item) {
if (item.name === 'full_name') {
leadName = item.values[0];
} else if (item.name === 'email') {
leadEmail = item.values[0];
}
});
}).then(function(leadInfo) {
//Work with info here I'm using getResponse :)
getResponseAPI.addContact('CAMPAIGN_ID', leadName, leadEmail, null, 0, {}, function(response) {
if (response.data.error) {
console.log('Error' + response.data.error.message);
}
console.log(JSON.stringify(response));
});
});
});
} else {
res.status(400);
}
});
};
后端点
// Confirm token that was set in the Webhook setup
exports.index = function (req, res) {
console.log(req.query);
var challenge = req.query['hub.challenge'],
verify_token = req.query['hub.verify_token'];
if (verify_token === 'YOUR_TOKEN') {
res.send(challenge);
}
};
'use strict';
var _ = require('lodash');
var fb = require('fb');
fb.setAccessToken('acces_token');
var getResponseAPI = require('getresponse-nodejs-api')('API_KEY');
exports.webhook = function(req, res) {
var leadName, leadEmail;
// Lead Info
var fbChanges = req.body.entry[0].changes;
var getLeadFromFacebook = new Promise(function(resolve, reject) {
if (fbChanges !== undefined) {
fbChanges.forEach(function(item, index) {
//You need to retrieve the User info from the changes because Facebook Just gives you UID
var getUserInfoFromGraph = new Promise(
function(resolve, reject) {
var leadId = item.value.leadgen_id;
fb.api(leadId.toString(), function(res) {
if (!res || res.error) {
console.log(!res ? 'error occurred' : res.error);
reject(res.error);
}
resolve(res);
});
}
);
getUserInfoFromGraph.then(function(userInfo) {
//To give you a picture the content of the data
console.log(JSON.stringify(userInfo.field_data));
userInfo.field_data.forEach(function(item) {
if (item.name === 'full_name') {
leadName = item.values[0];
} else if (item.name === 'email') {
leadEmail = item.values[0];
}
});
}).then(function(leadInfo) {
//Work with info here I'm using getResponse :)
getResponseAPI.addContact('CAMPAIGN_ID', leadName, leadEmail, null, 0, {}, function(response) {
if (response.data.error) {
console.log('Error' + response.data.error.message);
}
console.log(JSON.stringify(response));
});
});
});
} else {
res.status(400);
}
});
};