@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 ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-indata-connect
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build pieces-indata-connect` to build the library.
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
@@ -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
+ }>;
@@ -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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"}
@@ -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"}