@walkeros/server-destination-meta
Version:
Meta server destination for walkerOS
1 lines • 3.27 kB
JavaScript
var e=Object.defineProperty,t=(t,a)=>{for(var r in a)e(t,r,{get:a[r],enumerable:!0})},a={};t(a,{ActionSourceSchema:()=>n,EventNameSchema:()=>s,MappingSchema:()=>u,SettingsSchema:()=>c,mapping:()=>m,settings:()=>l});import{zodToSchema as r}from"@walkeros/core/dev";import{z as i}from"@walkeros/core/dev";import{z as o}from"@walkeros/core/dev";var n=o.enum(["email","website","app","phone_call","chat","physical_store","system_generated","business_messaging","other"]),s=o.union([o.enum(["AddPaymentInfo","AddToCart","AddToWishlist","CompleteRegistration","Contact","CustomizeProduct","Donate","FindLocation","InitiateCheckout","Lead","Purchase","Schedule","Search","StartTrial","SubmitApplication","Subscribe","ViewContent"]),o.string()]),c=i.object({accessToken:i.string().min(1).describe("Meta access token for Conversions API authentication (like your_access_token)"),pixelId:i.string().regex(/^[0-9]+$/,"Pixel ID must contain only digits").describe("Meta Pixel ID from your Facebook Business account (like 1234567890)"),action_source:n.describe("Source of the event (website, app, phone_call, etc.) (like website)").optional(),doNotHash:i.array(i.string()).describe("Array of user_data fields that should not be hashed (like ['client_ip_address', 'client_user_agent'])").optional(),test_event_code:i.string().describe("Test event code for debugging Meta Conversions API events (like TEST12345)").optional(),url:i.string().url().describe("Custom URL for Meta Conversions API endpoint (like https://graph.facebook.com/v17.0)").optional(),user_data:i.record(i.string(),i.string()).describe("Mapping configuration for user data fields (like { email: 'user.email', phone: 'user.phone' })").optional()});import{z as d}from"@walkeros/core/dev";var u=d.object({}),l=r(c),m=r(u),p={};t(p,{env:()=>b,events:()=>f,mapping:()=>k});var b={};t(b,{push:()=>v,simulation:()=>_});var v={sendServer:async function(e,t,a){return{ok:!0,data:{events_received:1,messages:[],fbtrace_id:"mock-trace-id"}}}},_=["sendServer"],f={};t(f,{Purchase:()=>h});import{getEvent as g}from"@walkeros/core";function h(){const e=g("order complete");return{data:[{event_name:"Purchase",event_time:e.timestamp/1e3,event_id:e.id,event_source_url:e.source.id,action_source:"website",user_data:{external_id:["cc8e27118413234d4297ed00a02711365312c79325df9b5b8f4199cbd0b96e7e","9176e6f336dbdb4f99b0e45cbd7e41e0e2323812b236822842a61ffbd362ac8c"]},order_id:String(e.data.id),currency:"EUR",value:Number(e.data.total),contents:e.nested.filter(e=>"product"===e.entity).map(e=>({id:String(e.data.id),quantity:Number(e.data.quantity)||1,item_price:Number(e.data.price)})),num_items:2}]}}var k={};t(k,{InitUserData:()=>S,Purchase:()=>P,config:()=>w});import{isObject as y}from"@walkeros/core";var S={pixelId:"p1x3l1d",accessToken:"s3cr3t",user_data:{external_id:{set:["user.device","user.session"]}}},P={name:"Purchase",data:{map:{order_id:"data.id",currency:{key:"data.currency",value:"EUR"},value:"data.total",contents:{loop:["nested",{condition:e=>y(e)&&"product"===e.entity,map:{id:"data.id",item_price:"data.price",quantity:{key:"data.quantity",value:1}}}]},num_items:{fn:e=>e.nested.filter(e=>"product"===e.entity).length}}}},w={order:{complete:P}};export{p as examples,a as schemas};//# sourceMappingURL=dev.mjs.map