Ticket
Web client integration can be done via GTM Tag or by adding inline JavaScript.
API Base URL
Testing:
https://winfluenced-pixel-rvlaoxgvjq-ey.a.run.app
Test Api Swagger Url:
https://winfluenced-pixel-rvlaoxgvjq-ey.a.run.app/swagger/index.html
Sample Client script
/* Datalayer Start */
const data_layer = {
customer_no: {{GTM Variable - Customer No}},
pnr: {{GTM Variable - PNR Number }},
ticket_no: {{GTM Variable - Ticket Number }},
origin_destination: {{GTM Variable - Origin Destination }},
ticket_items: {{GTM Variable - Ticket Items }}
total_discount: {{GTM Variable - Ticket Total Discount}},
shipping_amount: {{GTM Variable - Shipping Amount}},
total_tax: {{GTM Variable - Ticket Total Tax}},
total_amount: {{GTM Variable - Ticket Total Amount}},
payment_currency: {{GTM Variable - Ticket Payment Currency Code}},
affiliate_currency: {{GTM Variable - Ticket Affiliate Currency Code}},
voucher_code: {{GTM Variable - Voucher / Coupon Code}},
user_type: {{GTM Variable - Customer / User Type}},
sales_channel: {{GTM Variable - Sales Channel}}
};
/* Datalayer End */
(function sendConversion() {
function getAdpCookieValue(cookieName, i) {
const cookieValue = document.cookie.match(`(^|;)\\s*${cookieName}\\s*=\\s*([^;]+)`);
var values = (cookieValue ? cookieValue.pop() : '').split('_');
return (values.length >= i) ? values[i] : '';
}
const conversion_data = {
"transactionId": getAdpCookieValue("_adp", 0), // ClickID reads from _adp cookie
"offerId": getAdpCookieValue("_adp", 1), // OfferID reads from _adp cookie
"advertiserId": "000", // Replace with the brand Advertiser ID provided by Adpartners
"goalName": null, // Replace with the brand Goal ID provided by Adpartners
"customerNo": data_layer.customer_no,
"pnr": data_layer.pnr,
"ticketNo": data_layer.ticket_no,
"originDestination": data_layer.origin_destination,
"ticketItems": [],
"totalDiscount": data_layer.total_discount,
"totalShippingAmount": data_layer.shipping_amount,
"totalTax": data_layer.total_tax,
"totalAmount": data_layer.total_amount,
"paymentCurrencyCode": data_layer.paymnet_currency,
"affiliateCurrencyCode": data_layer.affiliate_currency,
"voucherCode": data_layer.voucher_code,
"userType": data_layer.user_type,
"salesChannel": data_layer.sales_channel
}
for (i = 0; i < data_layer.ticket_items.length; i++) {
conversion_data.ticketItems.push({
"productId": data_layer.ticket_items[i].id,
"fullRoute": data_layer.ticket_items[i].fullRoute,
"cabinClass": data_layer.ticket_items[i].cabinClass,
"fareFamily": data_layer.ticket_items[i].fareFamily,
"firstFlightDate": data_layer.ticket_items[i].firstFlightDate,
"routeType": data_layer.ticket_items[i].routeType,
"tripType": data_layer.ticket_items[i].tripType,
"companyName": data_layer.ticket_items[i].companyName,
"quantity": data_layer.ticket_items[i].quantity,
"unitePrice": data_layer.ticket_items[i].unitePrice,
"uniteDiscount": data_layer.ticket_items[i].uniteDiscount
});
}
fetch('{API Base URL}/api/pixel/ticket', {
method: "POST",
body: JSON.stringify(conversion_data),
headers: {
"Content-Type": "application/json"
},
});
})();
Create Conversion API Action
Body
transactionIdstring | nullableOptional
Click - Transaction Id
advertiserIdstring | nullableOptional
Advertiser Adpartners ID
offerIdstring | nullableOptional
Offer id, (Optional)
goalNamestring | nullableOptional
Category base, commission goal name, (Optional)
customerNostring | nullableOptional
Member/Customer/User number (Optional)
pnrstring | nullableOptional
Flight PNR number
ticketNostring | nullableOptional
Flight Ticket number
originDestinationstring | nullableOptional
PNR Main Origin and Destination {SAW-ESB}
totalDiscountnumber · float | nullableOptional
Ticket total discount
totalShippingAmountnumber · float | nullableOptional
Ticket total shipping amount
totalTaxnumber · float | nullableOptional
Ticket total tax
totalAmountnumber · float | nullableOptional
Revenue Ticket total amount, (include tax shipping and discounts)
paymentCurrencyCodestring | nullableOptional
Ticket Currency TRY,USD,EUR ...
originCurrencyCodestring | nullableOptional
Original Ticket Currency TRY,USD,EUR ...
affiliateCurrencyCodestring | nullableOptional
Affiliate Revenue Currency TRY,USD,EUR ...
voucherCodestring | nullableOptional
Ticket coupon code
userTypestring | nullableOptional
New or existing user
salesChannelstring | nullableOptional
Sales channel; web, ios and android
Responses
200
Success
No content
post
POST /api/pixel/ticket HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 620
{
"transactionId": "text",
"advertiserId": "text",
"offerId": "text",
"goalName": "text",
"customerNo": "text",
"pnr": "text",
"ticketNo": "text",
"originDestination": "text",
"ticketItems": [
{
"productId": "text",
"fullRoute": "text",
"cabinClass": "text",
"fareFamily": "text",
"firstFlightDate": "text",
"routeType": "text",
"tripType": "text",
"companyName": "text",
"quantity": 1,
"unitePrice": 1,
"originPrice": 1,
"uniteDiscount": 1
}
],
"totalDiscount": 1,
"totalShippingAmount": 1,
"totalTax": 1,
"totalAmount": 1,
"paymentCurrencyCode": "text",
"originCurrencyCode": "text",
"affiliateCurrencyCode": "text",
"voucherCode": "text",
"userType": "text",
"salesChannel": "text"
}
200
Success
No content
Last updated