@kevin3creatives/piece-indata-connect 0.0.1
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.
- package/README.md +7 -0
- package/package.json +29 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +18 -0
- package/src/index.js.map +1 -0
- package/src/lib/call.d.ts +5 -0
- package/src/lib/call.js +91 -0
- package/src/lib/call.js.map +1 -0
- package/src/lib/sms.d.ts +4 -0
- package/src/lib/sms.js +85 -0
- package/src/lib/sms.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kevin3creatives/piece-indata-connect",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@sinclair/typebox": "0.34.11",
|
|
6
|
+
"axios": "1.8.3",
|
|
7
|
+
"deepmerge-ts": "7.1.0",
|
|
8
|
+
"nanoid": "3.3.8",
|
|
9
|
+
"semver": "7.6.0",
|
|
10
|
+
"@activepieces/pieces-framework": "0.7.46",
|
|
11
|
+
"@activepieces/shared": "0.10.168",
|
|
12
|
+
"tslib": "2.8.1"
|
|
13
|
+
},
|
|
14
|
+
"overrides": {
|
|
15
|
+
"cross-spawn": "7.0.6",
|
|
16
|
+
"@tryfabric/martian": {
|
|
17
|
+
"@notionhq/client": "$@notionhq/client"
|
|
18
|
+
},
|
|
19
|
+
"vite": {
|
|
20
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"resolutions": {
|
|
24
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
25
|
+
},
|
|
26
|
+
"main": "./src/index.js",
|
|
27
|
+
"type": "commonjs",
|
|
28
|
+
"types": "./src/index.d.ts"
|
|
29
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const indataConnect: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").PieceAuthProperty>;
|
package/src/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.indataConnect = void 0;
|
|
4
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
|
+
const call_1 = require("./lib/call");
|
|
6
|
+
const sms_1 = require("./lib/sms");
|
|
7
|
+
const shared_1 = require("@activepieces/shared");
|
|
8
|
+
exports.indataConnect = (0, pieces_framework_1.createPiece)({
|
|
9
|
+
displayName: "inData Connect",
|
|
10
|
+
auth: pieces_framework_1.PieceAuth.None(),
|
|
11
|
+
minimumSupportedRelease: '0.36.1',
|
|
12
|
+
logoUrl: "https://www.indata.com.co/wp-content/uploads/elementor/thumbs/LOGO-INDATA-RGB-1-r2itpcq9rosicimeda1pbn9m026kcjp06vbjj7obyo.png",
|
|
13
|
+
authors: ["3creatives"],
|
|
14
|
+
actions: [call_1.realizarLlamada, sms_1.enviarSMS],
|
|
15
|
+
triggers: [],
|
|
16
|
+
categories: [shared_1.PieceCategory.INDATA],
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/indata-connect/src/index.ts"],"names":[],"mappings":";;;AACI,qEAAwE;AAC5E,qCAA6C;AAC7C,mCAAsC;AACtC,iDAAqD;AAEpC,QAAA,aAAa,GAAG,IAAA,8BAAW,EAAC;IACvC,WAAW,EAAE,gBAAgB;IAC7B,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IACtB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,gIAAgI;IACzI,OAAO,EAAE,CAAC,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,sBAAe,EAAG,eAAS,CAAC;IACtC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,CAAC,sBAAa,CAAC,MAAM,CAAC;CACnC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const realizarLlamada: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
|
|
2
|
+
phone_number: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
message: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
4
|
+
attributes: import("@activepieces/pieces-framework").JsonProperty<false>;
|
|
5
|
+
}>;
|
package/src/lib/call.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.realizarLlamada = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
7
|
+
exports.realizarLlamada = (0, pieces_framework_1.createAction)({
|
|
8
|
+
name: "realizar_llamada",
|
|
9
|
+
displayName: "Realizar llamada",
|
|
10
|
+
description: "Realiza una llamada telefónica",
|
|
11
|
+
props: {
|
|
12
|
+
phone_number: pieces_framework_1.Property.ShortText({
|
|
13
|
+
displayName: "Número de teléfono",
|
|
14
|
+
description: "Número de teléfono a llamar",
|
|
15
|
+
required: true,
|
|
16
|
+
}),
|
|
17
|
+
message: pieces_framework_1.Property.LongText({
|
|
18
|
+
displayName: "Mensaje",
|
|
19
|
+
description: "Mensaje que se reproducirá en la llamada",
|
|
20
|
+
required: true,
|
|
21
|
+
}),
|
|
22
|
+
attributes: pieces_framework_1.Property.Json({
|
|
23
|
+
displayName: "Atributos",
|
|
24
|
+
description: "Atributos adicionales de la llamada (customer_id, priority, sucursal, empleado_id)",
|
|
25
|
+
required: false,
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
run(context) {
|
|
29
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
var _a;
|
|
31
|
+
const token = context.server.token;
|
|
32
|
+
// El projectId ya está disponible en el contexto
|
|
33
|
+
const projectId = context.project.id;
|
|
34
|
+
console.log("Project ID desde el contexto:", projectId);
|
|
35
|
+
// Obtener account_id desde el project_id (mismo código que en las otras acciones)
|
|
36
|
+
let accountId = null;
|
|
37
|
+
let accountEmail = null;
|
|
38
|
+
try {
|
|
39
|
+
const accountResponse = yield fetch("https://api-wf.indata.com.co/workflow/get-account-id-from-project", {
|
|
40
|
+
method: "POST",
|
|
41
|
+
headers: {
|
|
42
|
+
"Content-Type": "application/json",
|
|
43
|
+
},
|
|
44
|
+
body: JSON.stringify({
|
|
45
|
+
project_id: projectId
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
if (accountResponse.ok) {
|
|
49
|
+
const accountData = yield accountResponse.json();
|
|
50
|
+
accountId = accountData.account_id;
|
|
51
|
+
accountEmail = accountData.email;
|
|
52
|
+
console.log("Account ID obtenido para llamada:", {
|
|
53
|
+
account_id: accountId,
|
|
54
|
+
email: accountEmail,
|
|
55
|
+
project_id: accountData.project_id
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log("Error obteniendo account_id para llamada:", accountResponse.status, accountResponse.statusText);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.log("Error en la llamada para obtener account_id para llamada:", error);
|
|
64
|
+
}
|
|
65
|
+
const url = "https://api-wf.indata.com.co/workflow/execute-connect-call";
|
|
66
|
+
const payload = {
|
|
67
|
+
data: {
|
|
68
|
+
phone_number: context.propsValue.phone_number,
|
|
69
|
+
message: context.propsValue.message,
|
|
70
|
+
tenant_id: accountId,
|
|
71
|
+
attributes: context.propsValue.attributes
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
try {
|
|
75
|
+
const response = yield axios_1.default.post(url, payload, {
|
|
76
|
+
headers: {
|
|
77
|
+
"Content-Type": "application/json",
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
return response.data;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return {
|
|
84
|
+
success: false,
|
|
85
|
+
error: ((_a = error.response) === null || _a === void 0 ? void 0 : _a.data) || error.message,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/custom/indata-connect/src/lib/call.ts"],"names":[],"mappings":"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"}
|
package/src/lib/sms.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const enviarSMS: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
|
|
2
|
+
message: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
3
|
+
phone_number: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
|
+
}>;
|
package/src/lib/sms.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enviarSMS = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
7
|
+
exports.enviarSMS = (0, pieces_framework_1.createAction)({
|
|
8
|
+
name: "enviar_sms",
|
|
9
|
+
displayName: "Enviar SMS",
|
|
10
|
+
description: "Envía un mensaje SMS",
|
|
11
|
+
props: {
|
|
12
|
+
message: pieces_framework_1.Property.LongText({
|
|
13
|
+
displayName: "Mensaje",
|
|
14
|
+
description: "Contenido del mensaje SMS",
|
|
15
|
+
required: true,
|
|
16
|
+
}),
|
|
17
|
+
phone_number: pieces_framework_1.Property.ShortText({
|
|
18
|
+
displayName: "Número de teléfono",
|
|
19
|
+
description: "Número de teléfono del destinatario",
|
|
20
|
+
required: true,
|
|
21
|
+
}),
|
|
22
|
+
},
|
|
23
|
+
run(context) {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
var _a;
|
|
26
|
+
const token = context.server.token;
|
|
27
|
+
// El projectId ya está disponible en el contexto
|
|
28
|
+
const projectId = context.project.id;
|
|
29
|
+
console.log("Project ID desde el contexto:", projectId);
|
|
30
|
+
// Obtener account_id desde el project_id (mismo código que en WhatsApp)
|
|
31
|
+
let accountId = null;
|
|
32
|
+
let accountEmail = null;
|
|
33
|
+
try {
|
|
34
|
+
const accountResponse = yield fetch("https://api-wf.indata.com.co/workflow/get-account-id-from-project", {
|
|
35
|
+
method: "POST",
|
|
36
|
+
headers: {
|
|
37
|
+
"Content-Type": "application/json",
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify({
|
|
40
|
+
project_id: projectId
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
if (accountResponse.ok) {
|
|
44
|
+
const accountData = yield accountResponse.json();
|
|
45
|
+
accountId = accountData.account_id;
|
|
46
|
+
accountEmail = accountData.email;
|
|
47
|
+
console.log("Account ID obtenido para SMS:", {
|
|
48
|
+
account_id: accountId,
|
|
49
|
+
email: accountEmail,
|
|
50
|
+
project_id: accountData.project_id
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.log("Error obteniendo account_id para SMS:", accountResponse.status, accountResponse.statusText);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.log("Error en la llamada para obtener account_id para SMS:", error);
|
|
59
|
+
}
|
|
60
|
+
const url = "https://api-wf.indata.com.co/workflow/send-sms";
|
|
61
|
+
const payload = {
|
|
62
|
+
data: {
|
|
63
|
+
message: context.propsValue.message,
|
|
64
|
+
tenant_id: accountId,
|
|
65
|
+
phone_number: context.propsValue.phone_number,
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
try {
|
|
69
|
+
const response = yield axios_1.default.post(url, payload, {
|
|
70
|
+
headers: {
|
|
71
|
+
"Content-Type": "application/json",
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
return response.data;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return {
|
|
78
|
+
success: false,
|
|
79
|
+
error: ((_a = error.response) === null || _a === void 0 ? void 0 : _a.data) || error.message,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=sms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sms.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/custom/indata-connect/src/lib/sms.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,0DAA0B;AACb,QAAA,SAAS,GAAG,IAAA,+BAAY,EAAC;IAClC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAEnC,iDAAiD;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;YAExD,wEAAwE;YACxE,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,YAAY,GAAG,IAAI,CAAC;YAExB,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,mEAAmE,EAAE;oBACvG,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,UAAU,EAAE,SAAS;qBACtB,CAAC;iBACH,CAAC,CAAC;gBAEH,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;oBACjD,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;oBACnC,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE;wBAC3C,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,WAAW,CAAC,UAAU;qBACnC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC3G,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,GAAG,GAAG,gDAAgD,CAAC;YAE7D,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;oBACnC,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY;iBAC9C;aACF,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;oBAC9C,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;iBACF,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,KAAI,KAAK,CAAC,OAAO;iBAC7C,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
|