@vizertech/nextjs-capi
Version:
NextJS 13 Wrapper for fb pixel and capi for graph v17.0 API
43 lines (42 loc) • 1.77 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fbPageView = exports.fbEvent = void 0;
const uuid_1 = require("uuid");
const debug_1 = __importDefault(require("./lib/debug"));
//pixel client only pageView event to trigger on any route change
function fbPageView() {
(0, debug_1.default)('Evento Cliente: PageView');
window.fbq('track', 'PageView');
}
exports.fbPageView = fbPageView;
//facebook custom event with capi and or pixel
function fbEvent(event, isTest = false, testEventCode, enablePixel = false) {
const eventId = event.event_id ? event.event_id : (0, uuid_1.v4)();
if (enablePixel === true) {
const pixelData = {
data: event
};
window.fbq('track', event.event_name, pixelData, { eventID: eventId });
(0, debug_1.default)(`Client Side Event: ${event.event_name}`);
(0, debug_1.default)(`Client Side Payload: ${JSON.stringify(pixelData)}`);
(0, debug_1.default)(`Client Side Event ID: ${eventId}`);
}
setTimeout(() => {
fetch('/api/events', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(event)
}).then((response) => {
(0, debug_1.default)(`Server Side Event: ${event.event_name} (${response.status})`);
(0, debug_1.default)(`Server Side Payload: ${JSON.stringify(event)}`);
}).catch((error) => {
(0, debug_1.default)(`Server Side Event Error: ${event.event_name} (${error.status})`);
});
}, 250);
}
exports.fbEvent = fbEvent;