@segment/action-destinations 3.59.0 → 3.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -13,5 +13,6 @@ export declare const getAccessToken: (request: RequestClient, credentials: Clien
|
|
|
13
13
|
export declare const criteoAuthenticate: (request: RequestClient, credentials: ClientCredentials) => Promise<ClientCredentials>;
|
|
14
14
|
export declare const patchAudience: (request: RequestClient, operation: Operation, credentials: ClientCredentials) => Promise<Response>;
|
|
15
15
|
export declare const getAdvertiserAudiences: (request: RequestClient, advertiser_id: string, credentials: ClientCredentials) => Promise<Array<Record<string, any>>>;
|
|
16
|
+
export declare const getAudienceIdByName: (request: RequestClient, advertiser_id: string, audience_name: string, credentials: ClientCredentials) => Promise<string | undefined>;
|
|
16
17
|
export declare const getAudienceId: (request: RequestClient, advertiser_id: string, audience_name: string, credentials: ClientCredentials) => Promise<string>;
|
|
17
18
|
export declare const createAudience: (request: RequestClient, advertiser_id: string, audience_name: string, credentials: ClientCredentials) => Promise<string>;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createAudience = exports.getAudienceId = exports.getAdvertiserAudiences = exports.patchAudience = exports.criteoAuthenticate = exports.getAccessToken = void 0;
|
|
3
|
+
exports.createAudience = exports.getAudienceId = exports.getAudienceIdByName = exports.getAdvertiserAudiences = exports.patchAudience = exports.criteoAuthenticate = exports.getAccessToken = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const BASE_API_URL = 'https://api.criteo.com/2022-01';
|
|
6
|
+
class CriteoAPIError extends Error {
|
|
7
|
+
constructor(message, error) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.error = error;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
6
12
|
const getRequestHeaders = async (request, credentials) => {
|
|
7
13
|
credentials = await exports.criteoAuthenticate(request, credentials);
|
|
8
14
|
return {
|
|
@@ -72,15 +78,37 @@ const getAdvertiserAudiences = async (request, advertiser_id, credentials) => {
|
|
|
72
78
|
return body.data;
|
|
73
79
|
};
|
|
74
80
|
exports.getAdvertiserAudiences = getAdvertiserAudiences;
|
|
75
|
-
const
|
|
76
|
-
if (!audience_name)
|
|
77
|
-
throw new Error(`Invalid Audience Name: ${audience_name}`);
|
|
81
|
+
const getAudienceIdByName = async (request, advertiser_id, audience_name, credentials) => {
|
|
78
82
|
const advertiser_audiences = await exports.getAdvertiserAudiences(request, advertiser_id, credentials);
|
|
79
83
|
for (const audience of advertiser_audiences) {
|
|
80
84
|
if (audience.attributes.name === audience_name)
|
|
81
85
|
return audience.id;
|
|
82
86
|
}
|
|
83
|
-
|
|
87
|
+
};
|
|
88
|
+
exports.getAudienceIdByName = getAudienceIdByName;
|
|
89
|
+
const getAudienceId = async (request, advertiser_id, audience_name, credentials) => {
|
|
90
|
+
let audience_id = undefined;
|
|
91
|
+
if (!audience_name)
|
|
92
|
+
throw new Error(`Invalid Audience Name: ${audience_name}`);
|
|
93
|
+
audience_id = await exports.getAudienceIdByName(request, advertiser_id, audience_name, credentials);
|
|
94
|
+
if (audience_id)
|
|
95
|
+
return audience_id;
|
|
96
|
+
try {
|
|
97
|
+
return await exports.createAudience(request, advertiser_id, audience_name, credentials);
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
if (e instanceof CriteoAPIError) {
|
|
101
|
+
if (e.error && e.error.code === "invalid-audience-name-duplicated") {
|
|
102
|
+
audience_id = e.error.detail.split(" ").pop();
|
|
103
|
+
if (audience_id && !isNaN(+audience_id))
|
|
104
|
+
return audience_id;
|
|
105
|
+
audience_id = await exports.getAudienceIdByName(request, advertiser_id, audience_name, credentials);
|
|
106
|
+
if (audience_id && !isNaN(+audience_id))
|
|
107
|
+
return audience_id;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
throw e;
|
|
111
|
+
}
|
|
84
112
|
};
|
|
85
113
|
exports.getAudienceId = getAudienceId;
|
|
86
114
|
const delay = (ms) => new Promise((res) => setTimeout(res, ms));
|
|
@@ -115,8 +143,10 @@ const createAudience = async (request, advertiser_id, audience_name, credentials
|
|
|
115
143
|
};
|
|
116
144
|
const response = await request(endpoint, { method: 'POST', headers: headers, json: payload });
|
|
117
145
|
const body = await response.json();
|
|
118
|
-
if (response.status !== 200)
|
|
119
|
-
|
|
146
|
+
if (response.status !== 200) {
|
|
147
|
+
const err = body.errors && body.errors[0] ? body.errors[0] : undefined;
|
|
148
|
+
throw new CriteoAPIError(`Error while creating the audience: ${JSON.stringify(body.errors)}`, err);
|
|
149
|
+
}
|
|
120
150
|
return body.data.id;
|
|
121
151
|
};
|
|
122
152
|
exports.createAudience = createAudience;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteo-audiences.js","sourceRoot":"","sources":["../../../src/destinations/criteo-audiences/criteo-audiences.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAGxD,MAAM,YAAY,GAAG,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"criteo-audiences.js","sourceRoot":"","sources":["../../../src/destinations/criteo-audiences/criteo-audiences.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.60.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"<rootDir>/test/setup-after-env.ts"
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "febd6550d2564d538e17dda7a65122a38fb92d0e"
|
|
66
66
|
}
|