@modulbank/sendamo
Advanced tools
Comparing version 0.0.26-beta-sm-8778-integration-with-cityes-add-c2967bd3 to 0.0.26-beta-sm-8778-integration-with-cityes-add-c7a94e1d
import { iParams } from './types'; | ||
export default function SandAmo(amoUrl: string): { | ||
takeParamsForSendAmo: (phoneNumber: string, name: string, actionType?: string, productCode?: string, comment?: string) => iParams; | ||
sendAmo: (params: iParams) => Promise<{}>; | ||
sendAmo: (params: any) => Promise<Response>; | ||
}; |
@@ -15,2 +15,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
} | ||
function cookieSet(array, hour, domain) { | ||
const getExpires = () => { | ||
const date = new Date(); | ||
if (hour) { | ||
date.setTime(date.getTime() + hour * 3600 * 1000); | ||
return `expires=${date.toUTCString()};`; | ||
} | ||
return ''; | ||
}; | ||
const getDomain = () => { | ||
if (domain) | ||
return `domain=${domain};`; | ||
return ''; | ||
}; | ||
for (const pair of array) { | ||
document.cookie = `${pair[0]}=${pair[1]}; ${getDomain()} ${getExpires()} path=/`; | ||
} | ||
} | ||
export default function SandAmo(amoUrl) { | ||
@@ -56,7 +74,4 @@ const url = amoUrl; | ||
// Идентификатор, если пришел в поисковых систем | ||
let searchEngine = ((_a = window === null || window === void 0 ? void 0 : window.document) === null || _a === void 0 ? void 0 : _a.referrer) || current.src; | ||
const utmSource = getCookie("utm_source"); | ||
if (utmSource) { | ||
searchEngine = utmSource; | ||
} | ||
const searchEngine = utmSource !== undefined && utmSource !== '' ? utmSource : (((_a = window === null || window === void 0 ? void 0 : window.document) === null || _a === void 0 ? void 0 : _a.referrer) || current.src); | ||
const params = { | ||
@@ -86,9 +101,5 @@ // @ts-ignore | ||
return new Promise((resolve, reject) => { | ||
const url = new URL('https://postback.cityads.com/service/postback/'); | ||
url.searchParams.set('campaign_secret', 'oPBnE0'); | ||
url.searchParams.set('order_id', orderId); | ||
url.searchParams.set('click_id', clickId); | ||
// @ts-ignore | ||
fetch(url.toString(), { | ||
method: 'GET' | ||
fetch(`/postback-cityads/?campaign_secret=oPBnE0&order_id=${orderId}&click_id=${clickId}`, { | ||
method: 'GET', | ||
}) | ||
@@ -109,21 +120,24 @@ .then((response) => __awaiter(this, void 0, void 0, function* () { | ||
function sendAmo(params) { | ||
return new Promise((resolve, reject) => { | ||
// @ts-ignore | ||
fetch(url, { | ||
method: 'POST', | ||
headers: { | ||
'Content-Type': 'application/json;charset=utf-8', | ||
}, | ||
body: JSON.stringify(params), | ||
}) | ||
.then((response) => __awaiter(this, void 0, void 0, function* () { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
const response = yield fetch(url, { | ||
method: 'POST', | ||
headers: { | ||
'Content-Type': 'application/json;charset=utf-8', | ||
}, | ||
body: JSON.stringify(params), | ||
}); | ||
if (response.status === 200) { | ||
const responseData = yield response.json(); | ||
const orderId = getCookie("order_id") || responseData.lead_id; | ||
const clickId = getCookie("click_id"); | ||
const utmSource = getCookie("utm_source"); | ||
if (utmSource === "cityads") { | ||
sendPostBack(clickId, orderId); | ||
let orderId = getCookie("order_id"); | ||
if (!orderId) { | ||
const responseData = yield response.json(); | ||
orderId = responseData.lead_id; | ||
cookieSet([['order_id', orderId]], 720); | ||
} | ||
const clickId = getCookie("click_id"); | ||
yield sendPostBack(clickId, orderId); | ||
} | ||
resolve(response); | ||
return response; | ||
} | ||
@@ -133,6 +147,6 @@ else { | ||
} | ||
})) | ||
.catch((err) => { | ||
reject(err); | ||
}); | ||
} | ||
catch (error) { | ||
throw error; | ||
} | ||
}); | ||
@@ -139,0 +153,0 @@ } |
{ | ||
"name": "@modulbank/sendamo", | ||
"version": "0.0.26-beta-sm-8778-integration-with-cityes-add-c2967bd3", | ||
"version": "0.0.26-beta-sm-8778-integration-with-cityes-add-c7a94e1d", | ||
"description": "send to amocrm method", | ||
@@ -5,0 +5,0 @@ "homepage": "", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8808
197