refacil-commerce-mcp 1.0.5 → 1.0.6
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/dist/core/tools.d.ts +2 -1
- package/dist/core/tools.js +336 -616
- package/dist/core/tools.js.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/dist/core/tools.js
CHANGED
|
@@ -90,16 +90,15 @@ const admin_update_balanceInputJsonSchema = {
|
|
|
90
90
|
},
|
|
91
91
|
"required": []
|
|
92
92
|
};
|
|
93
|
-
const
|
|
93
|
+
const admin_update_balanceInputValidator = z.object({
|
|
94
94
|
userToken: z.string().optional().describe("Campo del body: userToken"),
|
|
95
95
|
amount: z.number().optional().describe("Campo del body: amount")
|
|
96
|
-
};
|
|
97
|
-
const admin_update_balanceInputValidator = z.object(admin_update_balanceInputShape);
|
|
96
|
+
});
|
|
98
97
|
// Herramienta: admin_update_balance
|
|
99
98
|
export const admin_update_balanceTool = {
|
|
100
99
|
name: 'admin_update_balance',
|
|
101
100
|
description: "---\\n\\n### Description\\n\\nIt allows you to transfer funds from the main users money bag to the bag of the user who is being added. The token of the user who will be the beneficiary and the amount must be added.\\n\\n---\\n\\n### Request Body\\n\\n- userToken (string, required): The user token for which the balance will be updated\\n \\n- amount (number, required): Amount to be updated\\n \\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data.\n\nContexto: Endpoint: POST /admin/update-balance | Admin > Update balance\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
102
|
-
inputSchema:
|
|
101
|
+
inputSchema: admin_update_balanceInputValidator,
|
|
103
102
|
jsonSchema: admin_update_balanceInputJsonSchema,
|
|
104
103
|
endpoint: '/admin/update-balance',
|
|
105
104
|
method: 'POST',
|
|
@@ -108,12 +107,9 @@ export const admin_update_balanceTool = {
|
|
|
108
107
|
handler: async (rawArgs) => {
|
|
109
108
|
try {
|
|
110
109
|
const normalizedArgs = rawArgs ?? {};
|
|
111
|
-
|
|
112
|
-
const secretId = normalizedArgs._secretId;
|
|
113
|
-
// Remover _secretId de los args antes de validar
|
|
114
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
115
|
-
const validatedInput = validateToolInput(admin_update_balanceInputValidator, argsToValidate);
|
|
110
|
+
const validatedInput = validateToolInput(admin_update_balanceInputValidator, normalizedArgs);
|
|
116
111
|
const args = validatedInput;
|
|
112
|
+
const secretId = args._secretId;
|
|
117
113
|
const bodyData = {};
|
|
118
114
|
const userTokenValue = args.userToken !== undefined ? args.userToken : "MTcyNDY4NjE1MDY3OSQyYiQxMCRLeXZWVS9zdkF0ZzhPNTdoa1Z0dXVlME9mTHlVOWNacWREY1llUDIyL0k4N2hpazdKVmZFU***";
|
|
119
115
|
if (userTokenValue !== undefined)
|
|
@@ -148,13 +144,12 @@ const admin_locations_statesInputJsonSchema = {
|
|
|
148
144
|
"properties": {},
|
|
149
145
|
"required": []
|
|
150
146
|
};
|
|
151
|
-
const
|
|
152
|
-
const admin_locations_statesInputValidator = z.object(admin_locations_statesInputShape);
|
|
147
|
+
const admin_locations_statesInputValidator = z.object({});
|
|
153
148
|
// Herramienta: admin_locations_states
|
|
154
149
|
export const admin_locations_statesTool = {
|
|
155
150
|
name: 'admin_locations_states',
|
|
156
151
|
description: "---\\n\\n### Description\\n\\nGet all states, then you can search cities by state id in the /locations/cities/{stateId} service\\n\\n---\\n\\n### Request Body\\n\\nThis endpoint does not require a request body.\\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`items\\`: Array of objects containing the states\n\nContexto: Endpoint: GET /admin/locations/states | Admin > Locations > States\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
157
|
-
inputSchema:
|
|
152
|
+
inputSchema: admin_locations_statesInputValidator,
|
|
158
153
|
jsonSchema: admin_locations_statesInputJsonSchema,
|
|
159
154
|
endpoint: '/admin/locations/states',
|
|
160
155
|
method: 'GET',
|
|
@@ -163,12 +158,9 @@ export const admin_locations_statesTool = {
|
|
|
163
158
|
handler: async (rawArgs) => {
|
|
164
159
|
try {
|
|
165
160
|
const normalizedArgs = rawArgs ?? {};
|
|
166
|
-
|
|
167
|
-
const secretId = normalizedArgs._secretId;
|
|
168
|
-
// Remover _secretId de los args antes de validar
|
|
169
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
170
|
-
const validatedInput = validateToolInput(admin_locations_statesInputValidator, argsToValidate);
|
|
161
|
+
const validatedInput = validateToolInput(admin_locations_statesInputValidator, normalizedArgs);
|
|
171
162
|
const args = validatedInput;
|
|
163
|
+
const secretId = args._secretId;
|
|
172
164
|
return await makeApiRequest('GET', '/admin/locations/states', undefined, undefined, secretId);
|
|
173
165
|
}
|
|
174
166
|
catch (error) {
|
|
@@ -196,13 +188,12 @@ const admin_locations_citiesInputJsonSchema = {
|
|
|
196
188
|
"properties": {},
|
|
197
189
|
"required": []
|
|
198
190
|
};
|
|
199
|
-
const
|
|
200
|
-
const admin_locations_citiesInputValidator = z.object(admin_locations_citiesInputShape);
|
|
191
|
+
const admin_locations_citiesInputValidator = z.object({});
|
|
201
192
|
// Herramienta: admin_locations_cities
|
|
202
193
|
export const admin_locations_citiesTool = {
|
|
203
194
|
name: 'admin_locations_cities',
|
|
204
195
|
description: "---\\n\\n### Description\\n\\nGet all cities by state id\\n\\n---\\n\\n### Parameters Path\\n\\n- stateId (number, required): State Id\\n \\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`items\\`: Array of objects containing the cities by state id\n\nContexto: Endpoint: GET /admin/locations/cities/:stateId | Admin > Locations > Cities > :stateId\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
205
|
-
inputSchema:
|
|
196
|
+
inputSchema: admin_locations_citiesInputValidator,
|
|
206
197
|
jsonSchema: admin_locations_citiesInputJsonSchema,
|
|
207
198
|
endpoint: '/admin/locations/cities/:stateId',
|
|
208
199
|
method: 'GET',
|
|
@@ -211,12 +202,9 @@ export const admin_locations_citiesTool = {
|
|
|
211
202
|
handler: async (rawArgs) => {
|
|
212
203
|
try {
|
|
213
204
|
const normalizedArgs = rawArgs ?? {};
|
|
214
|
-
|
|
215
|
-
const secretId = normalizedArgs._secretId;
|
|
216
|
-
// Remover _secretId de los args antes de validar
|
|
217
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
218
|
-
const validatedInput = validateToolInput(admin_locations_citiesInputValidator, argsToValidate);
|
|
205
|
+
const validatedInput = validateToolInput(admin_locations_citiesInputValidator, normalizedArgs);
|
|
219
206
|
const args = validatedInput;
|
|
207
|
+
const secretId = args._secretId;
|
|
220
208
|
return await makeApiRequest('GET', '/admin/locations/cities/:stateId', undefined, undefined, secretId);
|
|
221
209
|
}
|
|
222
210
|
catch (error) {
|
|
@@ -255,16 +243,15 @@ const auth_login_apiInputJsonSchema = {
|
|
|
255
243
|
},
|
|
256
244
|
"required": []
|
|
257
245
|
};
|
|
258
|
-
const
|
|
246
|
+
const auth_login_apiInputValidator = z.object({
|
|
259
247
|
username: z.string().optional().describe("Campo del body: username"),
|
|
260
248
|
secretKey: z.string().optional().describe("Campo del body: secretKey")
|
|
261
|
-
};
|
|
262
|
-
const auth_login_apiInputValidator = z.object(auth_login_apiInputShape);
|
|
249
|
+
});
|
|
263
250
|
// Herramienta: auth_login_api
|
|
264
251
|
export const auth_login_apiTool = {
|
|
265
252
|
name: 'auth_login_api',
|
|
266
253
|
description: "---\\n\\n# API Login\\n\\n---\\n\\n### Description\\n\\nAllows API users to log in using their credentials. This operation authenticates the API user using the information provided in the request body. If the credentials are valid, an access token is issued, which must be included in subsequent requests to access protected resources on the platform. Make sure to include the token in the authorization header using the \\\"Bearer\\\" prefix in future requests. The response will include the token type (\\\"Bearer\\\") and the access token.\\n\\n---\\n\\n### Request Body\\n\\n- \\`username\\` (string) \\`required\\`\\\\- Username for authentication.\\n \\n- \\`secretKey\\` (string) \\`required\\`\\\\- Secret key for authentication\\n \\n- \\`saveSession\\` (boolean) - Flag that, if sent as \\`false\\`, allows the generated token to have an expiration of 12 hours.\\n \\n\\n---\\n\\n### Response\\n\\n- \\`messageCode\\` (string) - Code for the message.\\n \\n- \\`message\\` (string) - The message from the response.\\n \\n- \\`data\\`\\n \\n - \\`tokenType\\` (string) - Type of the token (e.g., \\\"Bearer\\\").\\n \\n - \\`token\\` (string) - The access code. It will not expire, unless the \\`saveSession\\` field is sent with the value \\`false\\`.\n\nContexto: Endpoint: POST /auth/login-api | Autenticación > Auth > Login api | Uso: Genera un token JWT usando las credenciales configuradas en el MCP\n\n⚠️ IMPORTANTE: Esta herramienta SOLO debe usarse cuando sea necesario generar o renovar un token. Las credenciales se obtienen automáticamente de la configuración del servidor MCP. NO solicites credenciales al usuario.",
|
|
267
|
-
inputSchema:
|
|
254
|
+
inputSchema: auth_login_apiInputValidator,
|
|
268
255
|
jsonSchema: auth_login_apiInputJsonSchema,
|
|
269
256
|
endpoint: '/auth/login-api',
|
|
270
257
|
method: 'POST',
|
|
@@ -273,12 +260,9 @@ export const auth_login_apiTool = {
|
|
|
273
260
|
handler: async (rawArgs) => {
|
|
274
261
|
try {
|
|
275
262
|
const normalizedArgs = rawArgs ?? {};
|
|
276
|
-
|
|
277
|
-
const secretId = normalizedArgs._secretId;
|
|
278
|
-
// Remover _secretId de los args antes de validar
|
|
279
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
280
|
-
const validatedInput = validateToolInput(auth_login_apiInputValidator, argsToValidate);
|
|
263
|
+
const validatedInput = validateToolInput(auth_login_apiInputValidator, normalizedArgs);
|
|
281
264
|
const args = validatedInput;
|
|
265
|
+
const secretId = args._secretId;
|
|
282
266
|
const bodyData = {};
|
|
283
267
|
const usernameValue = args.username !== undefined ? args.username : appConfig.username;
|
|
284
268
|
if (usernameValue !== undefined)
|
|
@@ -374,7 +358,7 @@ const commerce_registerInputJsonSchema = {
|
|
|
374
358
|
},
|
|
375
359
|
"required": []
|
|
376
360
|
};
|
|
377
|
-
const
|
|
361
|
+
const commerce_registerInputValidator = z.object({
|
|
378
362
|
name: z.string().optional().describe("Campo del body: name"),
|
|
379
363
|
lastname: z.string().optional().describe("Campo del body: lastname"),
|
|
380
364
|
docType: z.string().optional().describe("Campo del body: docType"),
|
|
@@ -387,13 +371,12 @@ const commerce_registerInputShape = {
|
|
|
387
371
|
address: z.string().optional().describe("Campo del body: address"),
|
|
388
372
|
cityName: z.string().optional().describe("Campo del body: cityName"),
|
|
389
373
|
balance: z.string().optional().describe("Campo del body: balance")
|
|
390
|
-
};
|
|
391
|
-
const commerce_registerInputValidator = z.object(commerce_registerInputShape);
|
|
374
|
+
});
|
|
392
375
|
// Herramienta: commerce_register
|
|
393
376
|
export const commerce_registerTool = {
|
|
394
377
|
name: 'commerce_register',
|
|
395
378
|
description: "---\\n\\n### Register Commerce\\n\\n---\\n\\n#### Description\\n\\nRegisters a new commerce in the system using the information provided in the request body. This method returns a response that includes the unique identifier of the user associated with the commerce.\\n\\n---\\n\\n#### Request Body\\n\\n- \\`name\\` (string) \\`required\\`: Owner\\'s name of the commerce.\\n \\n- \\`lastname\\` (string) \\`required\\`: Owner\\'s last name of the commerce\\n \\n- \\`docType\\` (string)\\`required\\`: Document type of the commerce owner.\\n \\n- \\`docNumber\\` (string)\\`required\\`: Document number of the commerce owner.\\n \\n- expeditionDate (string): Expedition date of the document of the commerce owner. The date must have the following structure YYYY-MM-DD\\n \\n- \\`username\\` (string)\\`required\\`: Username of the commerce owner.\\n \\n- \\`cellphone\\` (string)\\`required\\`: Commerce owner\\'s mobile phone number. Please enter a valid mobile phone number for Colombia. It must contain 10 digits and start with the prefix \\'3\\'.\\n \\n- \\`email\\` (string)\\`required\\`: Commerce owner\\'s email.\\n \\n- \\`commerceType\\` (number): Identifier of the commerce type. To get valid values, consult the /base-info/commerce-types service. Make sure to provide a valid number for this field. This field is optional, and if not provided, it will default to \\\"1,\\\" which corresponds to the \\\"Store\\\" commerce type.\\n \\n- \\`commerceName\\` (string)\\`required\\`: The name of the commerce.\\n \\n- latitude (number): Latitude of the commerce location.\\n \\n- longitude (number): Longitude of the commerce location.\\n \\n- \\`address\\` (string)\\`required\\`: Commerce address. Since the field is of type string, the address can be provided in any standard format.\\n \\n- \\`cityName\\` (string)\\`required\\`: City name where the commerce is located. It is recommended to enter only valid city names. If no matches are found, \\'Bogota\\' will be used as the default city.\\n \\n\\n---\\n\\n#### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object): An object containing the following fields:\\n \\n - \\`tokenType\\` (string): The type of token.\\n \\n - \\`token\\` (string): The token for authentication. It will not expire.\\n \\n - \\`userId\\` (number): The unique identifier of the user associated with the commerce.\\n \\n - \\`message\\` (string): A message related to the response.\n\nContexto: Endpoint: POST /commerce/register | Commerce > Register\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
396
|
-
inputSchema:
|
|
379
|
+
inputSchema: commerce_registerInputValidator,
|
|
397
380
|
jsonSchema: commerce_registerInputJsonSchema,
|
|
398
381
|
endpoint: '/commerce/register',
|
|
399
382
|
method: 'POST',
|
|
@@ -402,12 +385,9 @@ export const commerce_registerTool = {
|
|
|
402
385
|
handler: async (rawArgs) => {
|
|
403
386
|
try {
|
|
404
387
|
const normalizedArgs = rawArgs ?? {};
|
|
405
|
-
|
|
406
|
-
const secretId = normalizedArgs._secretId;
|
|
407
|
-
// Remover _secretId de los args antes de validar
|
|
408
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
409
|
-
const validatedInput = validateToolInput(commerce_registerInputValidator, argsToValidate);
|
|
388
|
+
const validatedInput = validateToolInput(commerce_registerInputValidator, normalizedArgs);
|
|
410
389
|
const args = validatedInput;
|
|
390
|
+
const secretId = args._secretId;
|
|
411
391
|
const bodyData = {};
|
|
412
392
|
const nameValue = args.name !== undefined ? args.name : "Morty";
|
|
413
393
|
if (nameValue !== undefined)
|
|
@@ -478,15 +458,14 @@ const commerce_get_infoInputJsonSchema = {
|
|
|
478
458
|
},
|
|
479
459
|
"required": []
|
|
480
460
|
};
|
|
481
|
-
const
|
|
461
|
+
const commerce_get_infoInputValidator = z.object({
|
|
482
462
|
userId: z.number().optional().describe("Campo del body: userId")
|
|
483
|
-
};
|
|
484
|
-
const commerce_get_infoInputValidator = z.object(commerce_get_infoInputShape);
|
|
463
|
+
});
|
|
485
464
|
// Herramienta: commerce_get_info
|
|
486
465
|
export const commerce_get_infoTool = {
|
|
487
466
|
name: 'commerce_get_info',
|
|
488
467
|
description: "---\\n\\n### Description\\n\\nRetrieve detailed information about a commerce using its identification. This operation requires sending an object in the request body with the \\\"userId\\\" property specifying the user ID. The response will include information about balances, additional data, and more. Balances include: \\\"tmpBalance\\\" (Earnings Bag), \\\"posBalance\\\" (Multiproduct Bag), and \\\"debt\\\" (Debt Bag).\\n\\n---\\n\\n### Request Body\\n\\n- userId (number, required): The user ID for which detailed information is to be retrieved.\\n \\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`additionalData\\`: Object containing user-related data (required)\\n \\n - \\`username\\`: String representing the username (required)\\n \\n - \\`token\\`: String representing the token. It will not expire. (required)\\n \\n - \\`balances\\`: Object containing balance-related data (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required) \\n debt: Number representing the debt amount (required)\n\nContexto: Endpoint: POST /commerce/get-info | Commerce > Get info\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
489
|
-
inputSchema:
|
|
468
|
+
inputSchema: commerce_get_infoInputValidator,
|
|
490
469
|
jsonSchema: commerce_get_infoInputJsonSchema,
|
|
491
470
|
endpoint: '/commerce/get-info',
|
|
492
471
|
method: 'POST',
|
|
@@ -495,12 +474,9 @@ export const commerce_get_infoTool = {
|
|
|
495
474
|
handler: async (rawArgs) => {
|
|
496
475
|
try {
|
|
497
476
|
const normalizedArgs = rawArgs ?? {};
|
|
498
|
-
|
|
499
|
-
const secretId = normalizedArgs._secretId;
|
|
500
|
-
// Remover _secretId de los args antes de validar
|
|
501
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
502
|
-
const validatedInput = validateToolInput(commerce_get_infoInputValidator, argsToValidate);
|
|
477
|
+
const validatedInput = validateToolInput(commerce_get_infoInputValidator, normalizedArgs);
|
|
503
478
|
const args = validatedInput;
|
|
479
|
+
const secretId = args._secretId;
|
|
504
480
|
const bodyData = {};
|
|
505
481
|
const userIdValue = args.userId !== undefined ? args.userId : 348130;
|
|
506
482
|
if (userIdValue !== undefined)
|
|
@@ -532,13 +508,12 @@ const commerce_usersInputJsonSchema = {
|
|
|
532
508
|
"properties": {},
|
|
533
509
|
"required": []
|
|
534
510
|
};
|
|
535
|
-
const
|
|
536
|
-
const commerce_usersInputValidator = z.object(commerce_usersInputShape);
|
|
511
|
+
const commerce_usersInputValidator = z.object({});
|
|
537
512
|
// Herramienta: commerce_users
|
|
538
513
|
export const commerce_usersTool = {
|
|
539
514
|
name: 'commerce_users',
|
|
540
515
|
description: "---\\n\\n### Description\\n\\nRetrieve a list of users associated with a commerce using the token provided in the request header. This method supports pagination and search by name or user id.\\n\\n---\\n\\n### Request Body\\n\\nThis endpoint does not require a request body.\\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`items\\`: Array of objects containing the users associated with the commerce\n\nContexto: Endpoint: GET /commerce/users | Commerce > Users\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
541
|
-
inputSchema:
|
|
516
|
+
inputSchema: commerce_usersInputValidator,
|
|
542
517
|
jsonSchema: commerce_usersInputJsonSchema,
|
|
543
518
|
endpoint: '/commerce/users',
|
|
544
519
|
method: 'GET',
|
|
@@ -547,12 +522,9 @@ export const commerce_usersTool = {
|
|
|
547
522
|
handler: async (rawArgs) => {
|
|
548
523
|
try {
|
|
549
524
|
const normalizedArgs = rawArgs ?? {};
|
|
550
|
-
|
|
551
|
-
const secretId = normalizedArgs._secretId;
|
|
552
|
-
// Remover _secretId de los args antes de validar
|
|
553
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
554
|
-
const validatedInput = validateToolInput(commerce_usersInputValidator, argsToValidate);
|
|
525
|
+
const validatedInput = validateToolInput(commerce_usersInputValidator, normalizedArgs);
|
|
555
526
|
const args = validatedInput;
|
|
527
|
+
const secretId = args._secretId;
|
|
556
528
|
return await makeApiRequest('GET', '/commerce/users', undefined, undefined, secretId);
|
|
557
529
|
}
|
|
558
530
|
catch (error) {
|
|
@@ -591,16 +563,15 @@ const commerce_updatebalanceInputJsonSchema = {
|
|
|
591
563
|
},
|
|
592
564
|
"required": []
|
|
593
565
|
};
|
|
594
|
-
const
|
|
566
|
+
const commerce_updatebalanceInputValidator = z.object({
|
|
595
567
|
token: z.string().optional().describe("Campo del body: token"),
|
|
596
568
|
balance: z.number().optional().describe("Campo del body: balance")
|
|
597
|
-
};
|
|
598
|
-
const commerce_updatebalanceInputValidator = z.object(commerce_updatebalanceInputShape);
|
|
569
|
+
});
|
|
599
570
|
// Herramienta: commerce_updatebalance
|
|
600
571
|
export const commerce_updatebalanceTool = {
|
|
601
572
|
name: 'commerce_updatebalance',
|
|
602
573
|
description: "---\\n\\n### Update Commerce Balance\\n\\n---\\n\\n#### Description\\n\\n**UpdateBalance:**\\n\\nThis service allows loading balance to the different merchants created, by deducting from the Parent Merchant’s balance pool. The transactions generated will be reflected in the reports assigned to the merchant within the portal provided by Super Pagos.\\n\\nThe required sending parameters are the token and ID, which were returned when the merchant was created.\\n\\n---\\n\\n#### Request Body Schema\\n\\n- \\`token\\` (string)\\`required\\`: Owner\\'s balance of the commerce.\\n \\n- \\`balance\\` (number)\\`required\\`: Owner\\'s balance of the commerce.\\n \\n\\n---\\n\\n#### Response Body Schema\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\n\nContexto: Endpoint: POST /commerce/updateBalance | Commerce > UpdateBalance\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
603
|
-
inputSchema:
|
|
574
|
+
inputSchema: commerce_updatebalanceInputValidator,
|
|
604
575
|
jsonSchema: commerce_updatebalanceInputJsonSchema,
|
|
605
576
|
endpoint: '/commerce/updateBalance',
|
|
606
577
|
method: 'POST',
|
|
@@ -609,12 +580,9 @@ export const commerce_updatebalanceTool = {
|
|
|
609
580
|
handler: async (rawArgs) => {
|
|
610
581
|
try {
|
|
611
582
|
const normalizedArgs = rawArgs ?? {};
|
|
612
|
-
|
|
613
|
-
const secretId = normalizedArgs._secretId;
|
|
614
|
-
// Remover _secretId de los args antes de validar
|
|
615
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
616
|
-
const validatedInput = validateToolInput(commerce_updatebalanceInputValidator, argsToValidate);
|
|
583
|
+
const validatedInput = validateToolInput(commerce_updatebalanceInputValidator, normalizedArgs);
|
|
617
584
|
const args = validatedInput;
|
|
585
|
+
const secretId = args._secretId;
|
|
618
586
|
const bodyData = {};
|
|
619
587
|
const tokenValue = args.token !== undefined ? args.token : "MTcyNDY4NjE1MDY3OSQyYiQxMCRLeXZWVS9zdkF0ZzhPNTdoa1Z0dXVlME9mTHlVOWNacWREY1llUDIyL0k4N2hpazdKVmZFUw==";
|
|
620
588
|
if (tokenValue !== undefined)
|
|
@@ -649,13 +617,12 @@ const base_info_commerce_typesInputJsonSchema = {
|
|
|
649
617
|
"properties": {},
|
|
650
618
|
"required": []
|
|
651
619
|
};
|
|
652
|
-
const
|
|
653
|
-
const base_info_commerce_typesInputValidator = z.object(base_info_commerce_typesInputShape);
|
|
620
|
+
const base_info_commerce_typesInputValidator = z.object({});
|
|
654
621
|
// Herramienta: base_info_commerce_types
|
|
655
622
|
export const base_info_commerce_typesTool = {
|
|
656
623
|
name: 'base_info_commerce_types',
|
|
657
624
|
description: "---\\n\\n### Retrieve Commerce Types\\n\\n---\\n\\n#### Description\\n\\nRetrieve the available commerce types in the application. This operation provides detailed information about the different types of commercial establishments that can operate on the platform.\\n\\n---\\n\\n#### Request Body\\n\\nThis endpoint does not require a request body.\\n\\n---\\n\\n#### Response Body\\n\\n- \\`message\\` (string): A message indicating the status of the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (array): An array containing the commerce types information.\\n \\n - \\`id\\` (number): The unique identifier for the commerce type.\\n \\n - \\`name\\` (string): The name of the commerce type.\n\nContexto: Endpoint: GET /base-info/commerce-types | Base info > Commerce types\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
658
|
-
inputSchema:
|
|
625
|
+
inputSchema: base_info_commerce_typesInputValidator,
|
|
659
626
|
jsonSchema: base_info_commerce_typesInputJsonSchema,
|
|
660
627
|
endpoint: '/base-info/commerce-types',
|
|
661
628
|
method: 'GET',
|
|
@@ -664,12 +631,9 @@ export const base_info_commerce_typesTool = {
|
|
|
664
631
|
handler: async (rawArgs) => {
|
|
665
632
|
try {
|
|
666
633
|
const normalizedArgs = rawArgs ?? {};
|
|
667
|
-
|
|
668
|
-
const secretId = normalizedArgs._secretId;
|
|
669
|
-
// Remover _secretId de los args antes de validar
|
|
670
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
671
|
-
const validatedInput = validateToolInput(base_info_commerce_typesInputValidator, argsToValidate);
|
|
634
|
+
const validatedInput = validateToolInput(base_info_commerce_typesInputValidator, normalizedArgs);
|
|
672
635
|
const args = validatedInput;
|
|
636
|
+
const secretId = args._secretId;
|
|
673
637
|
return await makeApiRequest('GET', '/base-info/commerce-types', undefined, undefined, secretId);
|
|
674
638
|
}
|
|
675
639
|
catch (error) {
|
|
@@ -697,13 +661,12 @@ const report_detailsInputJsonSchema = {
|
|
|
697
661
|
"properties": {},
|
|
698
662
|
"required": []
|
|
699
663
|
};
|
|
700
|
-
const
|
|
701
|
-
const report_detailsInputValidator = z.object(report_detailsInputShape);
|
|
664
|
+
const report_detailsInputValidator = z.object({});
|
|
702
665
|
// Herramienta: report_details
|
|
703
666
|
export const report_detailsTool = {
|
|
704
667
|
name: 'report_details',
|
|
705
668
|
description: "---\\n\\n### Retrieve Commerce Report Details\\n\\n---\\n\\n#### Description\\n\\nGet details to build a report. This service is responsible for returning the necessary details to generate a report. To provide more context about the service, it will return an array of objects. Each object in this array will contain attributes that are essential for the construction of a report. These attributes may include, but are not limited to, type of report, the bag to consult, options to load in a select and other relevant data that are needed for a complete and detailed report. The use of this method will facilitate the generation of reports by providing all the necessary data in a structured and easy-to-use way.\\n\\n---\\n\\n#### Request Body\\n\\n- No request body is required for this GET request.\\n \\n\\n---\\n\\n#### Response Body\\n\\n- \\`description\\` (string, optional): Description of the commerce report.\\n \\n- \\`form\\` (object):\\n \\n - \\`fields\\` (array):\\n \\n - \\`name\\` (string): Name of the field.\\n \\n - \\`type\\` (string): Type of the field.\\n \\n - \\`options\\` (array):\\n \\n - \\`label\\` (string): Label for the option.\\n \\n - \\`value\\` (null): Value of the option.\\n \\n - \\`label\\` (string): Label for the field.\\n \\n - \\`placeholder\\` (string): Placeholder for the field.\\n \\n - \\`required\\` (boolean): Indicates if the field is required.\\n \\n - \\`bag\\` (string): Bag information.\\n \\n - \\`typeReport\\` (string): Type of the report.\\n \\n- \\`endpoint\\` (string): The endpoint for the commerce report generate.\n\nContexto: Endpoint: GET /report/details | Report > Details\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
706
|
-
inputSchema:
|
|
669
|
+
inputSchema: report_detailsInputValidator,
|
|
707
670
|
jsonSchema: report_detailsInputJsonSchema,
|
|
708
671
|
endpoint: '/report/details',
|
|
709
672
|
method: 'GET',
|
|
@@ -712,12 +675,9 @@ export const report_detailsTool = {
|
|
|
712
675
|
handler: async (rawArgs) => {
|
|
713
676
|
try {
|
|
714
677
|
const normalizedArgs = rawArgs ?? {};
|
|
715
|
-
|
|
716
|
-
const secretId = normalizedArgs._secretId;
|
|
717
|
-
// Remover _secretId de los args antes de validar
|
|
718
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
719
|
-
const validatedInput = validateToolInput(report_detailsInputValidator, argsToValidate);
|
|
678
|
+
const validatedInput = validateToolInput(report_detailsInputValidator, normalizedArgs);
|
|
720
679
|
const args = validatedInput;
|
|
680
|
+
const secretId = args._secretId;
|
|
721
681
|
return await makeApiRequest('GET', '/report/details', undefined, undefined, secretId);
|
|
722
682
|
}
|
|
723
683
|
catch (error) {
|
|
@@ -763,16 +723,15 @@ const report_generateInputJsonSchema = {
|
|
|
763
723
|
},
|
|
764
724
|
"required": []
|
|
765
725
|
};
|
|
766
|
-
const
|
|
726
|
+
const report_generateInputValidator = z.object({
|
|
767
727
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
768
728
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
769
|
-
};
|
|
770
|
-
const report_generateInputValidator = z.object(report_generateInputShape);
|
|
729
|
+
});
|
|
771
730
|
// Herramienta: report_generate
|
|
772
731
|
export const report_generateTool = {
|
|
773
732
|
name: 'report_generate',
|
|
774
733
|
description: "---\\n\\n### Sales report\\n\\n---\\n\\n#### Description\\n\\nThis service is responsible for generating different types of reports depending on the filters that are sent.\\n\\n#### Request Body\\n\\n- \\`filters\\` (object, \\`required\\`): Filters for the report\\n \\n - \\`dateStart\\` (string, \\`required\\`)\\n \\n - \\`dateEnd\\` (string, \\`required\\`)\\n \\n - \\`carrierId\\` (null, optional)\\n \\n - \\`number\\` (string, optional)\\n \\n - \\`status\\` (string, optional)\\n \\n - \\`bag\\` (string, optional)\\n \\n- \\`typeReport\\` (string, required): Type of the report\\n \\n\\n---\\n\\n#### Response\\n\\n- \\`messageCode\\` (string)\\n \\n- \\`message\\` (string)\\n \\n- \\`data\\` (object)\\n \\n - \\`title\\` (string)\\n \\n - \\`header\\` (array of strings)\\n \\n - \\`data\\` (array of arrays)\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
775
|
-
inputSchema:
|
|
734
|
+
inputSchema: report_generateInputValidator,
|
|
776
735
|
jsonSchema: report_generateInputJsonSchema,
|
|
777
736
|
endpoint: '/report/generate',
|
|
778
737
|
method: 'POST',
|
|
@@ -781,12 +740,9 @@ export const report_generateTool = {
|
|
|
781
740
|
handler: async (rawArgs) => {
|
|
782
741
|
try {
|
|
783
742
|
const normalizedArgs = rawArgs ?? {};
|
|
784
|
-
|
|
785
|
-
const secretId = normalizedArgs._secretId;
|
|
786
|
-
// Remover _secretId de los args antes de validar
|
|
787
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
788
|
-
const validatedInput = validateToolInput(report_generateInputValidator, argsToValidate);
|
|
743
|
+
const validatedInput = validateToolInput(report_generateInputValidator, normalizedArgs);
|
|
789
744
|
const args = validatedInput;
|
|
745
|
+
const secretId = args._secretId;
|
|
790
746
|
const bodyData = {};
|
|
791
747
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "bag": "posBalance" };
|
|
792
748
|
if (filtersValue !== undefined)
|
|
@@ -839,16 +795,15 @@ const generate_purchase_reportInputJsonSchema = {
|
|
|
839
795
|
},
|
|
840
796
|
"required": []
|
|
841
797
|
};
|
|
842
|
-
const
|
|
798
|
+
const generate_purchase_reportInputValidator = z.object({
|
|
843
799
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
844
800
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
845
|
-
};
|
|
846
|
-
const generate_purchase_reportInputValidator = z.object(generate_purchase_reportInputShape);
|
|
801
|
+
});
|
|
847
802
|
// Herramienta: generate_purchase_report
|
|
848
803
|
export const generate_purchase_reportTool = {
|
|
849
804
|
name: 'generate_purchase_report',
|
|
850
805
|
description: "---\\n\\n# Purchase report\\n\\n---\\n\\n### Description\\n\\nThis service is responsible for generating different types of reports depending on the filters that are sent.\\n\\n---\\n\\n## Request Body\\n\\n- \\`filters\\` (object, \\`required\\`): Filters for the report\\n \\n - \\`dateStart\\` (string, \\`required\\`): Start date for the report.\\n \\n - \\`dateEnd\\` (string, \\`required\\`): End date for the report.\\n \\n - \\`carrierId\\` (string, optional): ID of the carrier.\\n \\n - \\`number\\` (string, optional): Commerce number.\\n \\n - \\`status\\` (string, optional): Status of the commerce.\\n \\n - \\`bag\\` (string, optional): Bag information.\\n \\n- \\`typeReport\\` (string, \\`required\\`): Type of the report.\\n \\n\\n---\\n\\n## Response\\n\\n- \\`messageCode\\` (string): Code for the message.\\n \\n- \\`message\\` (string): Details of the message.\\n \\n- \\`data\\` (object)\\n \\n - \\`title\\` (string): Title of the report.\\n \\n - \\`header\\` (array of strings): Headers for the report data.\\n \\n - \\`total\\` (number): Total count of the report data.\\n \\n - \\`data\\` (array of arrays): Report data.\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
851
|
-
inputSchema:
|
|
806
|
+
inputSchema: generate_purchase_reportInputValidator,
|
|
852
807
|
jsonSchema: generate_purchase_reportInputJsonSchema,
|
|
853
808
|
endpoint: '/report/generate',
|
|
854
809
|
method: 'POST',
|
|
@@ -857,12 +812,9 @@ export const generate_purchase_reportTool = {
|
|
|
857
812
|
handler: async (rawArgs) => {
|
|
858
813
|
try {
|
|
859
814
|
const normalizedArgs = rawArgs ?? {};
|
|
860
|
-
|
|
861
|
-
const secretId = normalizedArgs._secretId;
|
|
862
|
-
// Remover _secretId de los args antes de validar
|
|
863
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
864
|
-
const validatedInput = validateToolInput(generate_purchase_reportInputValidator, argsToValidate);
|
|
815
|
+
const validatedInput = validateToolInput(generate_purchase_reportInputValidator, normalizedArgs);
|
|
865
816
|
const args = validatedInput;
|
|
817
|
+
const secretId = args._secretId;
|
|
866
818
|
const bodyData = {};
|
|
867
819
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "bag": "posBalance" };
|
|
868
820
|
if (filtersValue !== undefined)
|
|
@@ -915,16 +867,15 @@ const generate_statement_reportInputJsonSchema = {
|
|
|
915
867
|
},
|
|
916
868
|
"required": []
|
|
917
869
|
};
|
|
918
|
-
const
|
|
870
|
+
const generate_statement_reportInputValidator = z.object({
|
|
919
871
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
920
872
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
921
|
-
};
|
|
922
|
-
const generate_statement_reportInputValidator = z.object(generate_statement_reportInputShape);
|
|
873
|
+
});
|
|
923
874
|
// Herramienta: generate_statement_report
|
|
924
875
|
export const generate_statement_reportTool = {
|
|
925
876
|
name: 'generate_statement_report',
|
|
926
877
|
description: "---\\n\\n### Statement report\\n\\n---\\n\\n#### Description\\n\\nThis endpoint allows you to generate a report with the specified filters and report type.\\n\\n---\\n\\n#### Request Body\\n\\n- Type: JSON\\n \\n\\n| Parameter | Type | Description |\\n| --- | --- | --- |\\n| filters | object, \\`required\\` | An object containing filter parameters like date range, carrier ID, number, status, and bag. |\\n| typeReport | string, \\`required\\` | The type of report to be generated. |\\n\\n---\\n\\n#### Response\\n\\n- Type: JSON\\n \\n\\n| Property | Type | Description |\\n| --- | --- | --- |\\n| messageCode | string | A code associated with the response message. |\\n| message | string | A human-readable message providing information about the response. |\\n| data | object | An object containing report title, header, and totals. |\\n| title | string | The title of the report. |\\n| header | array | An array containing report headers. |\\n| totals | object | An object containing various total amounts for the report. |\\n| data | array | An array containing report data. |\\n\\n**Note**: The actual data in the response may vary based on the report generated.\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
927
|
-
inputSchema:
|
|
878
|
+
inputSchema: generate_statement_reportInputValidator,
|
|
928
879
|
jsonSchema: generate_statement_reportInputJsonSchema,
|
|
929
880
|
endpoint: '/report/generate',
|
|
930
881
|
method: 'POST',
|
|
@@ -933,12 +884,9 @@ export const generate_statement_reportTool = {
|
|
|
933
884
|
handler: async (rawArgs) => {
|
|
934
885
|
try {
|
|
935
886
|
const normalizedArgs = rawArgs ?? {};
|
|
936
|
-
|
|
937
|
-
const secretId = normalizedArgs._secretId;
|
|
938
|
-
// Remover _secretId de los args antes de validar
|
|
939
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
940
|
-
const validatedInput = validateToolInput(generate_statement_reportInputValidator, argsToValidate);
|
|
887
|
+
const validatedInput = validateToolInput(generate_statement_reportInputValidator, normalizedArgs);
|
|
941
888
|
const args = validatedInput;
|
|
889
|
+
const secretId = args._secretId;
|
|
942
890
|
const bodyData = {};
|
|
943
891
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "bag": "tmpBalance" };
|
|
944
892
|
if (filtersValue !== undefined)
|
|
@@ -991,16 +939,15 @@ const generate_payment_reportInputJsonSchema = {
|
|
|
991
939
|
},
|
|
992
940
|
"required": []
|
|
993
941
|
};
|
|
994
|
-
const
|
|
942
|
+
const generate_payment_reportInputValidator = z.object({
|
|
995
943
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
996
944
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
997
|
-
};
|
|
998
|
-
const generate_payment_reportInputValidator = z.object(generate_payment_reportInputShape);
|
|
945
|
+
});
|
|
999
946
|
// Herramienta: generate_payment_report
|
|
1000
947
|
export const generate_payment_reportTool = {
|
|
1001
948
|
name: 'generate_payment_report',
|
|
1002
949
|
description: "---\\n\\n### Payment report\\n\\n---\\n\\n#### Description\\n\\nThis service is responsible for generating different types of reports depending on the filters that are sent.\\n\\n---\\n\\n#### Request Body\\n\\n- Type: JSON\\n \\n\\n| Parameter | Type | Description |\\n| --- | --- | --- |\\n| filters | object, \\`required\\` | Object containing filter criteria including date range, carrier ID, number, status, and bag |\\n| typeReport | string, \\`required\\` | Type of the report to be generated |\\n\\n#### Response\\n\\n- Type: JSON\\n \\n\\n| Parameter | Type | Description |\\n| --- | --- | --- |\\n| messageCode | string | Code for the message |\\n| message | string | Details of the message |\\n| data | object | Object containing title, header, and data array |\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1003
|
-
inputSchema:
|
|
950
|
+
inputSchema: generate_payment_reportInputValidator,
|
|
1004
951
|
jsonSchema: generate_payment_reportInputJsonSchema,
|
|
1005
952
|
endpoint: '/report/generate',
|
|
1006
953
|
method: 'POST',
|
|
@@ -1009,12 +956,9 @@ export const generate_payment_reportTool = {
|
|
|
1009
956
|
handler: async (rawArgs) => {
|
|
1010
957
|
try {
|
|
1011
958
|
const normalizedArgs = rawArgs ?? {};
|
|
1012
|
-
|
|
1013
|
-
const secretId = normalizedArgs._secretId;
|
|
1014
|
-
// Remover _secretId de los args antes de validar
|
|
1015
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1016
|
-
const validatedInput = validateToolInput(generate_payment_reportInputValidator, argsToValidate);
|
|
959
|
+
const validatedInput = validateToolInput(generate_payment_reportInputValidator, normalizedArgs);
|
|
1017
960
|
const args = validatedInput;
|
|
961
|
+
const secretId = args._secretId;
|
|
1018
962
|
const bodyData = {};
|
|
1019
963
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "bag": "tmpBalance" };
|
|
1020
964
|
if (filtersValue !== undefined)
|
|
@@ -1067,16 +1011,15 @@ const generate_transfer_reportInputJsonSchema = {
|
|
|
1067
1011
|
},
|
|
1068
1012
|
"required": []
|
|
1069
1013
|
};
|
|
1070
|
-
const
|
|
1014
|
+
const generate_transfer_reportInputValidator = z.object({
|
|
1071
1015
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
1072
1016
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
1073
|
-
};
|
|
1074
|
-
const generate_transfer_reportInputValidator = z.object(generate_transfer_reportInputShape);
|
|
1017
|
+
});
|
|
1075
1018
|
// Herramienta: generate_transfer_report
|
|
1076
1019
|
export const generate_transfer_reportTool = {
|
|
1077
1020
|
name: 'generate_transfer_report',
|
|
1078
1021
|
description: "---\\n\\n# Transfer report\\n\\n---\\n\\n## Description\\n\\nThis endpoint allows you to generate a report based on the specified filters.\\n\\n---\\n\\n## Request Body\\n\\n- \\`filters\\` (object, required): An object containing the filters for the report.\\n \\n - \\`dateStart\\` (string, required): The start date for the report.\\n \\n - \\`dateEnd\\` (string, required): The end date for the report.\\n \\n - \\`carrierId\\` (null): The ID of the carrier for the report.\\n \\n - \\`number\\` (string): The report number.\\n \\n - \\`status\\` (string): The status for the report.\\n \\n - \\`bag\\` (string): The bag for the report.\\n \\n- \\`typeReport\\` (string, required): The type of report to be generated.\\n \\n\\n---\\n\\n## Response\\n\\n- \\`messageCode\\` (string): The code for the message.\\n \\n- \\`message\\` (string): The message related to the response.\\n \\n- \\`data\\` (object): An object containing the report data.\\n \\n - \\`title\\` (string): The title of the report.\\n \\n - \\`header\\` (array): An array containing the headers for the report data.\\n \\n - \\`data\\` (array): An array containing the report data.\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1079
|
-
inputSchema:
|
|
1022
|
+
inputSchema: generate_transfer_reportInputValidator,
|
|
1080
1023
|
jsonSchema: generate_transfer_reportInputJsonSchema,
|
|
1081
1024
|
endpoint: '/report/generate',
|
|
1082
1025
|
method: 'POST',
|
|
@@ -1085,12 +1028,9 @@ export const generate_transfer_reportTool = {
|
|
|
1085
1028
|
handler: async (rawArgs) => {
|
|
1086
1029
|
try {
|
|
1087
1030
|
const normalizedArgs = rawArgs ?? {};
|
|
1088
|
-
|
|
1089
|
-
const secretId = normalizedArgs._secretId;
|
|
1090
|
-
// Remover _secretId de los args antes de validar
|
|
1091
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1092
|
-
const validatedInput = validateToolInput(generate_transfer_reportInputValidator, argsToValidate);
|
|
1031
|
+
const validatedInput = validateToolInput(generate_transfer_reportInputValidator, normalizedArgs);
|
|
1093
1032
|
const args = validatedInput;
|
|
1033
|
+
const secretId = args._secretId;
|
|
1094
1034
|
const bodyData = {};
|
|
1095
1035
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "bag": "tmpBalance" };
|
|
1096
1036
|
if (filtersValue !== undefined)
|
|
@@ -1144,16 +1084,15 @@ const generate_reverse_reportInputJsonSchema = {
|
|
|
1144
1084
|
},
|
|
1145
1085
|
"required": []
|
|
1146
1086
|
};
|
|
1147
|
-
const
|
|
1087
|
+
const generate_reverse_reportInputValidator = z.object({
|
|
1148
1088
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
1149
1089
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
1150
|
-
};
|
|
1151
|
-
const generate_reverse_reportInputValidator = z.object(generate_reverse_reportInputShape);
|
|
1090
|
+
});
|
|
1152
1091
|
// Herramienta: generate_reverse_report
|
|
1153
1092
|
export const generate_reverse_reportTool = {
|
|
1154
1093
|
name: 'generate_reverse_report',
|
|
1155
1094
|
description: "---\\n\\n# Reverse report\\n\\n---\\n\\n## Description\\n\\nThis endpoint allows you to generate a report based on the specified filters.\\n\\n---\\n\\n## Request Body\\n\\n- \\`filters\\` (object, required): An object containing the filters for the report.\\n \\n - \\`dateStart\\` (string, required): The start date for the report.\\n \\n - \\`dateEnd\\` (string, required): The end date for the report.\\n \\n - \\`carrierId\\` (null): The ID of the carrier for the report.\\n \\n - \\`number\\` (string): The report number.\\n \\n - \\`status\\` (string): The status for the report.\\n \\n - \\`bag\\` (string): The bag for the report.\\n \\n- \\`typeReport\\` (string, required): The type of report to be generated.\\n \\n\\n---\\n\\n## Response\\n\\n- \\`messageCode\\` (string): The code for the message.\\n \\n- \\`message\\` (string): The message related to the response.\\n \\n- \\`data\\` (object): An object containing the report data.\\n \\n - \\`title\\` (string): The title of the report.\\n \\n - \\`header\\` (array): An array containing the headers for the report data.\\n \\n - \\`data\\` (array): An array containing the report data.\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1156
|
-
inputSchema:
|
|
1095
|
+
inputSchema: generate_reverse_reportInputValidator,
|
|
1157
1096
|
jsonSchema: generate_reverse_reportInputJsonSchema,
|
|
1158
1097
|
endpoint: '/report/generate',
|
|
1159
1098
|
method: 'POST',
|
|
@@ -1162,12 +1101,9 @@ export const generate_reverse_reportTool = {
|
|
|
1162
1101
|
handler: async (rawArgs) => {
|
|
1163
1102
|
try {
|
|
1164
1103
|
const normalizedArgs = rawArgs ?? {};
|
|
1165
|
-
|
|
1166
|
-
const secretId = normalizedArgs._secretId;
|
|
1167
|
-
// Remover _secretId de los args antes de validar
|
|
1168
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1169
|
-
const validatedInput = validateToolInput(generate_reverse_reportInputValidator, argsToValidate);
|
|
1104
|
+
const validatedInput = validateToolInput(generate_reverse_reportInputValidator, normalizedArgs);
|
|
1170
1105
|
const args = validatedInput;
|
|
1106
|
+
const secretId = args._secretId;
|
|
1171
1107
|
const bodyData = {};
|
|
1172
1108
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "type": "1", "bag": "posBalance" };
|
|
1173
1109
|
if (filtersValue !== undefined)
|
|
@@ -1221,16 +1157,15 @@ const generate_consumption_reportInputJsonSchema = {
|
|
|
1221
1157
|
},
|
|
1222
1158
|
"required": []
|
|
1223
1159
|
};
|
|
1224
|
-
const
|
|
1160
|
+
const generate_consumption_reportInputValidator = z.object({
|
|
1225
1161
|
filters: z.record(z.any()).optional().describe("Campo del body: filters"),
|
|
1226
1162
|
typeReport: z.string().optional().describe("Campo del body: typeReport")
|
|
1227
|
-
};
|
|
1228
|
-
const generate_consumption_reportInputValidator = z.object(generate_consumption_reportInputShape);
|
|
1163
|
+
});
|
|
1229
1164
|
// Herramienta: generate_consumption_report
|
|
1230
1165
|
export const generate_consumption_reportTool = {
|
|
1231
1166
|
name: 'generate_consumption_report',
|
|
1232
1167
|
description: "---\\n\\n# Consumption report\\n\\n---\\n\\n## Description\\n\\nThis endpoint allows you to generate a report based on the specified filters.\\n\\n---\\n\\n## Request Body\\n\\n- \\`filters\\` (object, required): An object containing the filters for the report.\\n \\n - \\`dateStart\\` (string, required): The start date for the report.\\n \\n - \\`dateEnd\\` (string, required): The end date for the report.\\n \\n - \\`carrierId\\` (null): The ID of the carrier for the report.\\n \\n - \\`number\\` (string): The report number.\\n \\n - \\`status\\` (string): The status for the report.\\n \\n - \\`bag\\` (string): The bag for the report.\\n \\n- \\`typeReport\\` (string, required): The type of report to be generated.\\n \\n\\n---\\n\\n## Response\\n\\n- \\`messageCode\\` (string): The code for the message.\\n \\n- \\`message\\` (string): The message related to the response.\\n \\n- \\`data\\` (object): An object containing the report data.\\n \\n - \\`title\\` (string): The title of the report.\\n \\n - \\`header\\` (array): An array containing the headers for the report data.\\n \\n - \\`data\\` (array): An array containing the report data.\n\nContexto: Endpoint: POST /report/generate | Report > Generate\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1233
|
-
inputSchema:
|
|
1168
|
+
inputSchema: generate_consumption_reportInputValidator,
|
|
1234
1169
|
jsonSchema: generate_consumption_reportInputJsonSchema,
|
|
1235
1170
|
endpoint: '/report/generate',
|
|
1236
1171
|
method: 'POST',
|
|
@@ -1239,12 +1174,9 @@ export const generate_consumption_reportTool = {
|
|
|
1239
1174
|
handler: async (rawArgs) => {
|
|
1240
1175
|
try {
|
|
1241
1176
|
const normalizedArgs = rawArgs ?? {};
|
|
1242
|
-
|
|
1243
|
-
const secretId = normalizedArgs._secretId;
|
|
1244
|
-
// Remover _secretId de los args antes de validar
|
|
1245
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1246
|
-
const validatedInput = validateToolInput(generate_consumption_reportInputValidator, argsToValidate);
|
|
1177
|
+
const validatedInput = validateToolInput(generate_consumption_reportInputValidator, normalizedArgs);
|
|
1247
1178
|
const args = validatedInput;
|
|
1179
|
+
const secretId = args._secretId;
|
|
1248
1180
|
const bodyData = {};
|
|
1249
1181
|
const filtersValue = args.filters !== undefined ? args.filters : { "dateStart": "2024-01-29", "dateEnd": "2024-02-28", "carrierId": null, "number": "", "status": "approve", "type": "1", "bag": "tmpBalance" };
|
|
1250
1182
|
if (filtersValue !== undefined)
|
|
@@ -1307,19 +1239,18 @@ const payment_generate_resourceInputJsonSchema = {
|
|
|
1307
1239
|
},
|
|
1308
1240
|
"required": []
|
|
1309
1241
|
};
|
|
1310
|
-
const
|
|
1242
|
+
const payment_generate_resourceInputValidator = z.object({
|
|
1311
1243
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1312
1244
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1313
1245
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1314
1246
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1315
1247
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1316
|
-
};
|
|
1317
|
-
const payment_generate_resourceInputValidator = z.object(payment_generate_resourceInputShape);
|
|
1248
|
+
});
|
|
1318
1249
|
// Herramienta: payment_generate_resource
|
|
1319
1250
|
export const payment_generate_resourceTool = {
|
|
1320
1251
|
name: 'payment_generate_resource',
|
|
1321
1252
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object): Optional form associated with the resource.\\n \\n - \\`cellphone\\` (string): The cellphone number.\\n \\n- \\`customerReference\\` (string, \\`required\\`): A reference to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object): An object containing the response data.\\n \\n - \\`message\\` (string): A message related to the response data.\\n \\n - \\`date\\` (number): The date related to the response data.\\n \\n - \\`payload\\` (object): An object containing the payload data.\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the generated resource.\\n \\n - \\`resourceId\\` (string): The identifier of the generated resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the generated resource.\\n \\n - \\`type\\` (string): The type of the generated resource.\\n \\n - \\`data\\` (string): Additional data related to the generated resource.\\n \\n - \\`status\\` (number): The status of the generated resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1322
|
-
inputSchema:
|
|
1253
|
+
inputSchema: payment_generate_resourceInputValidator,
|
|
1323
1254
|
jsonSchema: payment_generate_resourceInputJsonSchema,
|
|
1324
1255
|
endpoint: '/payment/generate-resource',
|
|
1325
1256
|
method: 'POST',
|
|
@@ -1328,12 +1259,9 @@ export const payment_generate_resourceTool = {
|
|
|
1328
1259
|
handler: async (rawArgs) => {
|
|
1329
1260
|
try {
|
|
1330
1261
|
const normalizedArgs = rawArgs ?? {};
|
|
1331
|
-
|
|
1332
|
-
const secretId = normalizedArgs._secretId;
|
|
1333
|
-
// Remover _secretId de los args antes de validar
|
|
1334
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1335
|
-
const validatedInput = validateToolInput(payment_generate_resourceInputValidator, argsToValidate);
|
|
1262
|
+
const validatedInput = validateToolInput(payment_generate_resourceInputValidator, normalizedArgs);
|
|
1336
1263
|
const args = validatedInput;
|
|
1264
|
+
const secretId = args._secretId;
|
|
1337
1265
|
const bodyData = {};
|
|
1338
1266
|
const productIdValue = args.productId !== undefined ? args.productId : 304133;
|
|
1339
1267
|
if (productIdValue !== undefined)
|
|
@@ -1405,19 +1333,18 @@ const generate_resource_nequiInputJsonSchema = {
|
|
|
1405
1333
|
},
|
|
1406
1334
|
"required": []
|
|
1407
1335
|
};
|
|
1408
|
-
const
|
|
1336
|
+
const generate_resource_nequiInputValidator = z.object({
|
|
1409
1337
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1410
1338
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1411
1339
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1412
1340
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1413
1341
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1414
|
-
};
|
|
1415
|
-
const generate_resource_nequiInputValidator = z.object(generate_resource_nequiInputShape);
|
|
1342
|
+
});
|
|
1416
1343
|
// Herramienta: generate_resource_nequi
|
|
1417
1344
|
export const generate_resource_nequiTool = {
|
|
1418
1345
|
name: 'generate_resource_nequi',
|
|
1419
1346
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object): Optional form associated with the resource.\\n \\n - \\`cellphone\\` (string): The cellphone number.\\n \\n- \\`customerReference\\` (string, \\`required\\`): A reference to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object): An object containing data related to the response.\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): The date associated with the data.\\n \\n - \\`payload\\` (object): An object containing the payload data.\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the generated resource.\\n \\n - \\`resourceId\\` (string): The identifier of the generated resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1420
|
-
inputSchema:
|
|
1347
|
+
inputSchema: generate_resource_nequiInputValidator,
|
|
1421
1348
|
jsonSchema: generate_resource_nequiInputJsonSchema,
|
|
1422
1349
|
endpoint: '/payment/generate-resource',
|
|
1423
1350
|
method: 'POST',
|
|
@@ -1426,12 +1353,9 @@ export const generate_resource_nequiTool = {
|
|
|
1426
1353
|
handler: async (rawArgs) => {
|
|
1427
1354
|
try {
|
|
1428
1355
|
const normalizedArgs = rawArgs ?? {};
|
|
1429
|
-
|
|
1430
|
-
const secretId = normalizedArgs._secretId;
|
|
1431
|
-
// Remover _secretId de los args antes de validar
|
|
1432
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1433
|
-
const validatedInput = validateToolInput(generate_resource_nequiInputValidator, argsToValidate);
|
|
1356
|
+
const validatedInput = validateToolInput(generate_resource_nequiInputValidator, normalizedArgs);
|
|
1434
1357
|
const args = validatedInput;
|
|
1358
|
+
const secretId = args._secretId;
|
|
1435
1359
|
const bodyData = {};
|
|
1436
1360
|
const productIdValue = args.productId !== undefined ? args.productId : 118;
|
|
1437
1361
|
if (productIdValue !== undefined)
|
|
@@ -1508,19 +1432,18 @@ const generate_resource_daviplataInputJsonSchema = {
|
|
|
1508
1432
|
},
|
|
1509
1433
|
"required": []
|
|
1510
1434
|
};
|
|
1511
|
-
const
|
|
1435
|
+
const generate_resource_daviplataInputValidator = z.object({
|
|
1512
1436
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1513
1437
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1514
1438
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1515
1439
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1516
1440
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1517
|
-
};
|
|
1518
|
-
const generate_resource_daviplataInputValidator = z.object(generate_resource_daviplataInputShape);
|
|
1441
|
+
});
|
|
1519
1442
|
// Herramienta: generate_resource_daviplata
|
|
1520
1443
|
export const generate_resource_daviplataTool = {
|
|
1521
1444
|
name: 'generate_resource_daviplata',
|
|
1522
1445
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object):\\n \\n - \\`typePerson\\` (string): Type of person.\\n \\n - \\`documentType\\` (string): Type of document.\\n \\n - \\`documentNumber\\` (string): Document number.\\n \\n - \\`name\\` (string): Name of the customer.\\n \\n - \\`email\\` (string): Email of the customer.\\n \\n - \\`cellphone\\` (string): Cellphone number of the customer.\\n \\n- \\`customerReference\\` (string, \\`required\\`): Reference related to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object):\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): Date related to the data.\\n \\n - \\`payload\\` (object):\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): Reference of the resource.\\n \\n - \\`resourceId\\` (string): Identifier of the resource.\\n \\n - \\`expiresIn\\` (string): Expiration time of the resource.\\n \\n - \\`type\\` (string): Type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): Status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1523
|
-
inputSchema:
|
|
1446
|
+
inputSchema: generate_resource_daviplataInputValidator,
|
|
1524
1447
|
jsonSchema: generate_resource_daviplataInputJsonSchema,
|
|
1525
1448
|
endpoint: '/payment/generate-resource',
|
|
1526
1449
|
method: 'POST',
|
|
@@ -1529,12 +1452,9 @@ export const generate_resource_daviplataTool = {
|
|
|
1529
1452
|
handler: async (rawArgs) => {
|
|
1530
1453
|
try {
|
|
1531
1454
|
const normalizedArgs = rawArgs ?? {};
|
|
1532
|
-
|
|
1533
|
-
const secretId = normalizedArgs._secretId;
|
|
1534
|
-
// Remover _secretId de los args antes de validar
|
|
1535
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1536
|
-
const validatedInput = validateToolInput(generate_resource_daviplataInputValidator, argsToValidate);
|
|
1455
|
+
const validatedInput = validateToolInput(generate_resource_daviplataInputValidator, normalizedArgs);
|
|
1537
1456
|
const args = validatedInput;
|
|
1457
|
+
const secretId = args._secretId;
|
|
1538
1458
|
const bodyData = {};
|
|
1539
1459
|
const productIdValue = args.productId !== undefined ? args.productId : 148;
|
|
1540
1460
|
if (productIdValue !== undefined)
|
|
@@ -1604,19 +1524,18 @@ const generate_resource_bancolombiaInputJsonSchema = {
|
|
|
1604
1524
|
},
|
|
1605
1525
|
"required": []
|
|
1606
1526
|
};
|
|
1607
|
-
const
|
|
1527
|
+
const generate_resource_bancolombiaInputValidator = z.object({
|
|
1608
1528
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1609
1529
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1610
1530
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1611
1531
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1612
1532
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1613
|
-
};
|
|
1614
|
-
const generate_resource_bancolombiaInputValidator = z.object(generate_resource_bancolombiaInputShape);
|
|
1533
|
+
});
|
|
1615
1534
|
// Herramienta: generate_resource_bancolombia
|
|
1616
1535
|
export const generate_resource_bancolombiaTool = {
|
|
1617
1536
|
name: 'generate_resource_bancolombia',
|
|
1618
1537
|
description: "### Generate Payment Resource\\n\\n---\\n\\n#### Description\\n\\nCreates a payment resource in the system using the provided information.\\n\\n---\\n\\n#### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object): Optional form associated with the resource.\\n \\n- \\`customerReference\\` (string): Customer reference information.\\n \\n\\n---\\n\\n#### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object): The response data.\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): The date related to the data.\\n \\n - \\`payload\\` (object): The payload data.\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the resource.\\n \\n - \\`resourceId\\` (string): The identifier of the resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1619
|
-
inputSchema:
|
|
1538
|
+
inputSchema: generate_resource_bancolombiaInputValidator,
|
|
1620
1539
|
jsonSchema: generate_resource_bancolombiaInputJsonSchema,
|
|
1621
1540
|
endpoint: '/payment/generate-resource',
|
|
1622
1541
|
method: 'POST',
|
|
@@ -1625,12 +1544,9 @@ export const generate_resource_bancolombiaTool = {
|
|
|
1625
1544
|
handler: async (rawArgs) => {
|
|
1626
1545
|
try {
|
|
1627
1546
|
const normalizedArgs = rawArgs ?? {};
|
|
1628
|
-
|
|
1629
|
-
const secretId = normalizedArgs._secretId;
|
|
1630
|
-
// Remover _secretId de los args antes de validar
|
|
1631
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1632
|
-
const validatedInput = validateToolInput(generate_resource_bancolombiaInputValidator, argsToValidate);
|
|
1547
|
+
const validatedInput = validateToolInput(generate_resource_bancolombiaInputValidator, normalizedArgs);
|
|
1633
1548
|
const args = validatedInput;
|
|
1549
|
+
const secretId = args._secretId;
|
|
1634
1550
|
const bodyData = {};
|
|
1635
1551
|
const productIdValue = args.productId !== undefined ? args.productId : 87;
|
|
1636
1552
|
if (productIdValue !== undefined)
|
|
@@ -1702,19 +1618,18 @@ const generate_resource_nequi_22InputJsonSchema = {
|
|
|
1702
1618
|
},
|
|
1703
1619
|
"required": []
|
|
1704
1620
|
};
|
|
1705
|
-
const
|
|
1621
|
+
const generate_resource_nequi_22InputValidator = z.object({
|
|
1706
1622
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1707
1623
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1708
1624
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1709
1625
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1710
1626
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1711
|
-
};
|
|
1712
|
-
const generate_resource_nequi_22InputValidator = z.object(generate_resource_nequi_22InputShape);
|
|
1627
|
+
});
|
|
1713
1628
|
// Herramienta: generate_resource_nequi_22
|
|
1714
1629
|
export const generate_resource_nequi_22Tool = {
|
|
1715
1630
|
name: 'generate_resource_nequi_22',
|
|
1716
1631
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object): Optional form associated with the resource.\\n \\n - \\`cellphone\\` (string): The cellphone number.\\n \\n- \\`customerReference\\` (string, \\`required\\`): A reference to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object): An object containing data related to the response.\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): The date associated with the data.\\n \\n - \\`payload\\` (object): An object containing the payload data.\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the generated resource.\\n \\n - \\`resourceId\\` (string): The identifier of the generated resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1717
|
-
inputSchema:
|
|
1632
|
+
inputSchema: generate_resource_nequi_22InputValidator,
|
|
1718
1633
|
jsonSchema: generate_resource_nequi_22InputJsonSchema,
|
|
1719
1634
|
endpoint: '/payment/generate-resource',
|
|
1720
1635
|
method: 'POST',
|
|
@@ -1723,12 +1638,9 @@ export const generate_resource_nequi_22Tool = {
|
|
|
1723
1638
|
handler: async (rawArgs) => {
|
|
1724
1639
|
try {
|
|
1725
1640
|
const normalizedArgs = rawArgs ?? {};
|
|
1726
|
-
|
|
1727
|
-
const secretId = normalizedArgs._secretId;
|
|
1728
|
-
// Remover _secretId de los args antes de validar
|
|
1729
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1730
|
-
const validatedInput = validateToolInput(generate_resource_nequi_22InputValidator, argsToValidate);
|
|
1641
|
+
const validatedInput = validateToolInput(generate_resource_nequi_22InputValidator, normalizedArgs);
|
|
1731
1642
|
const args = validatedInput;
|
|
1643
|
+
const secretId = args._secretId;
|
|
1732
1644
|
const bodyData = {};
|
|
1733
1645
|
const productIdValue = args.productId !== undefined ? args.productId : 88;
|
|
1734
1646
|
if (productIdValue !== undefined)
|
|
@@ -1806,19 +1718,18 @@ const generate_resource_daviplata_23InputJsonSchema = {
|
|
|
1806
1718
|
},
|
|
1807
1719
|
"required": []
|
|
1808
1720
|
};
|
|
1809
|
-
const
|
|
1721
|
+
const generate_resource_daviplata_23InputValidator = z.object({
|
|
1810
1722
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1811
1723
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1812
1724
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1813
1725
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1814
1726
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1815
|
-
};
|
|
1816
|
-
const generate_resource_daviplata_23InputValidator = z.object(generate_resource_daviplata_23InputShape);
|
|
1727
|
+
});
|
|
1817
1728
|
// Herramienta: generate_resource_daviplata_23
|
|
1818
1729
|
export const generate_resource_daviplata_23Tool = {
|
|
1819
1730
|
name: 'generate_resource_daviplata_23',
|
|
1820
1731
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object):\\n \\n - \\`typePerson\\` (string): Type of person.\\n \\n - \\`documentType\\` (string): Type of document.\\n \\n - \\`documentNumber\\` (string): Document number.\\n \\n - \\`name\\` (string): Name of the customer.\\n \\n - \\`email\\` (string): Email of the customer.\\n \\n - \\`cellphone\\` (string): Cellphone number of the customer.\\n \\n- \\`customerReference\\` (string, \\`required\\`): Reference related to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object):\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): Date related to the data.\\n \\n - \\`payload\\` (object):\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): Reference of the resource.\\n \\n - \\`resourceId\\` (string): Identifier of the resource.\\n \\n - \\`expiresIn\\` (string): Expiration time of the resource.\\n \\n - \\`type\\` (string): Type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): Status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1821
|
-
inputSchema:
|
|
1732
|
+
inputSchema: generate_resource_daviplata_23InputValidator,
|
|
1822
1733
|
jsonSchema: generate_resource_daviplata_23InputJsonSchema,
|
|
1823
1734
|
endpoint: '/payment/generate-resource',
|
|
1824
1735
|
method: 'POST',
|
|
@@ -1827,12 +1738,9 @@ export const generate_resource_daviplata_23Tool = {
|
|
|
1827
1738
|
handler: async (rawArgs) => {
|
|
1828
1739
|
try {
|
|
1829
1740
|
const normalizedArgs = rawArgs ?? {};
|
|
1830
|
-
|
|
1831
|
-
const secretId = normalizedArgs._secretId;
|
|
1832
|
-
// Remover _secretId de los args antes de validar
|
|
1833
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1834
|
-
const validatedInput = validateToolInput(generate_resource_daviplata_23InputValidator, argsToValidate);
|
|
1741
|
+
const validatedInput = validateToolInput(generate_resource_daviplata_23InputValidator, normalizedArgs);
|
|
1835
1742
|
const args = validatedInput;
|
|
1743
|
+
const secretId = args._secretId;
|
|
1836
1744
|
const bodyData = {};
|
|
1837
1745
|
const productIdValue = args.productId !== undefined ? args.productId : 89;
|
|
1838
1746
|
if (productIdValue !== undefined)
|
|
@@ -1910,19 +1818,18 @@ const generate_resource_pseInputJsonSchema = {
|
|
|
1910
1818
|
},
|
|
1911
1819
|
"required": []
|
|
1912
1820
|
};
|
|
1913
|
-
const
|
|
1821
|
+
const generate_resource_pseInputValidator = z.object({
|
|
1914
1822
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1915
1823
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
1916
1824
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
1917
1825
|
form: z.record(z.any()).optional().describe("Campo del body: form"),
|
|
1918
1826
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
1919
|
-
};
|
|
1920
|
-
const generate_resource_pseInputValidator = z.object(generate_resource_pseInputShape);
|
|
1827
|
+
});
|
|
1921
1828
|
// Herramienta: generate_resource_pse
|
|
1922
1829
|
export const generate_resource_pseTool = {
|
|
1923
1830
|
name: 'generate_resource_pse',
|
|
1924
1831
|
description: "---\\n\\n### Generate Payment Resource\\n\\n---\\n\\n#### Description\\n\\nThis endpoint allows you to generate a payment resource in the system.\\n\\n---\\n\\n#### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`form\\` (object): Optional form associated with the resource.\\n \\n - \\`bankId\\` (string): The ID of the bank.\\n \\n - \\`typePerson\\` (string): The type of person.\\n \\n - \\`documentType\\` (string): The type of document.\\n \\n - \\`documentNumber\\` (string): The document number.\\n \\n - \\`name\\` (string): The name of the customer.\\n \\n - \\`email\\` (string): The email of the customer.\\n \\n - \\`cellphone\\` (string): The cellphone number of the customer.\\n \\n- \\`customerReference\\` (string, \\`required\\`): The reference for the customer.\\n \\n\\n---\\n\\n#### Response\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object):\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): The date of the response.\\n \\n - \\`payload\\` (object):\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the generated resource.\\n \\n - \\`resourceId\\` (string): The identifier of the generated resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
1925
|
-
inputSchema:
|
|
1832
|
+
inputSchema: generate_resource_pseInputValidator,
|
|
1926
1833
|
jsonSchema: generate_resource_pseInputJsonSchema,
|
|
1927
1834
|
endpoint: '/payment/generate-resource',
|
|
1928
1835
|
method: 'POST',
|
|
@@ -1931,12 +1838,9 @@ export const generate_resource_pseTool = {
|
|
|
1931
1838
|
handler: async (rawArgs) => {
|
|
1932
1839
|
try {
|
|
1933
1840
|
const normalizedArgs = rawArgs ?? {};
|
|
1934
|
-
|
|
1935
|
-
const secretId = normalizedArgs._secretId;
|
|
1936
|
-
// Remover _secretId de los args antes de validar
|
|
1937
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
1938
|
-
const validatedInput = validateToolInput(generate_resource_pseInputValidator, argsToValidate);
|
|
1841
|
+
const validatedInput = validateToolInput(generate_resource_pseInputValidator, normalizedArgs);
|
|
1939
1842
|
const args = validatedInput;
|
|
1843
|
+
const secretId = args._secretId;
|
|
1940
1844
|
const bodyData = {};
|
|
1941
1845
|
const productIdValue = args.productId !== undefined ? args.productId : 56;
|
|
1942
1846
|
if (productIdValue !== undefined)
|
|
@@ -2001,18 +1905,17 @@ const generate_res_ban_dir_al_bancoInputJsonSchema = {
|
|
|
2001
1905
|
},
|
|
2002
1906
|
"required": []
|
|
2003
1907
|
};
|
|
2004
|
-
const
|
|
1908
|
+
const generate_res_ban_dir_al_bancoInputValidator = z.object({
|
|
2005
1909
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2006
1910
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
2007
1911
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
2008
1912
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
2009
|
-
};
|
|
2010
|
-
const generate_res_ban_dir_al_bancoInputValidator = z.object(generate_res_ban_dir_al_bancoInputShape);
|
|
1913
|
+
});
|
|
2011
1914
|
// Herramienta: generate_res_ban_dir_al_banco
|
|
2012
1915
|
export const generate_res_ban_dir_al_bancoTool = {
|
|
2013
1916
|
name: 'generate_res_ban_dir_al_banco',
|
|
2014
1917
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`customerReference\\` (string, \\`required\\`): A reference related to the customer.\\n \\n\\n---\\n\\n### Response Body\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code related to the message.\\n \\n- \\`data\\` (object)\\n \\n - \\`message\\` (string): A message related to the data.\\n \\n - \\`date\\` (number): The date related to the data.\\n \\n - \\`payload\\` (object)\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the generated resource.\\n \\n - \\`resourceId\\` (string): The identifier of the generated resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the generated resource.\\n \\n - \\`type\\` (string): The type of the generated resource.\\n \\n - \\`data\\` (string): Additional data related to the generated resource.\\n \\n - \\`status\\` (number): The status of the generated resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2015
|
-
inputSchema:
|
|
1918
|
+
inputSchema: generate_res_ban_dir_al_bancoInputValidator,
|
|
2016
1919
|
jsonSchema: generate_res_ban_dir_al_bancoInputJsonSchema,
|
|
2017
1920
|
endpoint: '/payment/generate-resource',
|
|
2018
1921
|
method: 'POST',
|
|
@@ -2021,12 +1924,9 @@ export const generate_res_ban_dir_al_bancoTool = {
|
|
|
2021
1924
|
handler: async (rawArgs) => {
|
|
2022
1925
|
try {
|
|
2023
1926
|
const normalizedArgs = rawArgs ?? {};
|
|
2024
|
-
|
|
2025
|
-
const secretId = normalizedArgs._secretId;
|
|
2026
|
-
// Remover _secretId de los args antes de validar
|
|
2027
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2028
|
-
const validatedInput = validateToolInput(generate_res_ban_dir_al_bancoInputValidator, argsToValidate);
|
|
1927
|
+
const validatedInput = validateToolInput(generate_res_ban_dir_al_bancoInputValidator, normalizedArgs);
|
|
2029
1928
|
const args = validatedInput;
|
|
1929
|
+
const secretId = args._secretId;
|
|
2030
1930
|
const bodyData = {};
|
|
2031
1931
|
const productIdValue = args.productId !== undefined ? args.productId : 53;
|
|
2032
1932
|
if (productIdValue !== undefined)
|
|
@@ -2088,18 +1988,17 @@ const generate_res_ban_esc_qrInputJsonSchema = {
|
|
|
2088
1988
|
},
|
|
2089
1989
|
"required": []
|
|
2090
1990
|
};
|
|
2091
|
-
const
|
|
1991
|
+
const generate_res_ban_esc_qrInputValidator = z.object({
|
|
2092
1992
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2093
1993
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
2094
1994
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
2095
1995
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
2096
|
-
};
|
|
2097
|
-
const generate_res_ban_esc_qrInputValidator = z.object(generate_res_ban_esc_qrInputShape);
|
|
1996
|
+
});
|
|
2098
1997
|
// Herramienta: generate_res_ban_esc_qr
|
|
2099
1998
|
export const generate_res_ban_esc_qrTool = {
|
|
2100
1999
|
name: 'generate_res_ban_esc_qr',
|
|
2101
2000
|
description: "---\\n\\n### Generate Payment Resource\\n\\n---\\n\\n#### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body.\\n\\n---\\n\\n#### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`amount\\` (number, \\`required\\`): Amount of the resource to be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`customerReference\\` (string, \\`required\\`): Reference to the customer.\\n \\n\\n---\\n\\n#### Response\\n\\nThe response is a JSON object with the following properties:\\n\\n- \\`message\\` (string): A message, if any.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object): The data object containing the following properties:\\n \\n - \\`message\\` (string): A message, if any.\\n \\n - \\`date\\` (number): The date associated with the response.\\n \\n - \\`payload\\` (object): The payload object containing the following properties:\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the resource.\\n \\n - \\`resourceId\\` (string): The identifier of the resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of resource.\\n \\n - \\`data\\` (string): Additional data associated with the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2102
|
-
inputSchema:
|
|
2001
|
+
inputSchema: generate_res_ban_esc_qrInputValidator,
|
|
2103
2002
|
jsonSchema: generate_res_ban_esc_qrInputJsonSchema,
|
|
2104
2003
|
endpoint: '/payment/generate-resource',
|
|
2105
2004
|
method: 'POST',
|
|
@@ -2108,12 +2007,9 @@ export const generate_res_ban_esc_qrTool = {
|
|
|
2108
2007
|
handler: async (rawArgs) => {
|
|
2109
2008
|
try {
|
|
2110
2009
|
const normalizedArgs = rawArgs ?? {};
|
|
2111
|
-
|
|
2112
|
-
const secretId = normalizedArgs._secretId;
|
|
2113
|
-
// Remover _secretId de los args antes de validar
|
|
2114
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2115
|
-
const validatedInput = validateToolInput(generate_res_ban_esc_qrInputValidator, argsToValidate);
|
|
2010
|
+
const validatedInput = validateToolInput(generate_res_ban_esc_qrInputValidator, normalizedArgs);
|
|
2116
2011
|
const args = validatedInput;
|
|
2012
|
+
const secretId = args._secretId;
|
|
2117
2013
|
const bodyData = {};
|
|
2118
2014
|
const productIdValue = args.productId !== undefined ? args.productId : 54;
|
|
2119
2015
|
if (productIdValue !== undefined)
|
|
@@ -2170,17 +2066,16 @@ const generate_resource_tarjeta_de_recaudoInputJsonSchema = {
|
|
|
2170
2066
|
},
|
|
2171
2067
|
"required": []
|
|
2172
2068
|
};
|
|
2173
|
-
const
|
|
2069
|
+
const generate_resource_tarjeta_de_recaudoInputValidator = z.object({
|
|
2174
2070
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2175
2071
|
moduleId: z.number().optional().describe("Campo del body: moduleId"),
|
|
2176
2072
|
customerReference: z.string().optional().describe("Campo del body: customerReference")
|
|
2177
|
-
};
|
|
2178
|
-
const generate_resource_tarjeta_de_recaudoInputValidator = z.object(generate_resource_tarjeta_de_recaudoInputShape);
|
|
2073
|
+
});
|
|
2179
2074
|
// Herramienta: generate_resource_tarjeta_de_recaudo
|
|
2180
2075
|
export const generate_resource_tarjeta_de_recaudoTool = {
|
|
2181
2076
|
name: 'generate_resource_tarjeta_de_recaudo',
|
|
2182
2077
|
description: "---\\n\\n### Description\\n\\nGenerates a payment resource in the system using the information provided in the request body. This method returns a response that includes details about the generated resource, such as the URL, reference, resource identifier, and expiration time.\\n\\n---\\n\\n### Request Body\\n\\n- \\`productId\\` (number, \\`required\\`): Identifier of the product for which the resource will be generated.\\n \\n- \\`moduleId\\` (number, \\`required\\`): Identifier of the module to which the generated resource will be associated.\\n \\n- \\`customerReference\\` (string): The reference of the customer.\\n \\n\\n---\\n\\n### Response\\n\\n- \\`message\\` (string): A message from the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object)\\n \\n - \\`message\\` (string): A message within the data object.\\n \\n - \\`date\\` (number): The date associated with the response.\\n \\n - \\`payload\\` (object)\\n \\n - \\`url\\` (string): The URL of the generated resource.\\n \\n - \\`reference\\` (string): The reference of the resource.\\n \\n - \\`resourceId\\` (string): The identifier of the resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data associated with the resource.\\n \\n - \\`status\\` (number): The status of the resource.\n\nContexto: Endpoint: POST /payment/generate-resource | Payment > Generate resource\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2183
|
-
inputSchema:
|
|
2078
|
+
inputSchema: generate_resource_tarjeta_de_recaudoInputValidator,
|
|
2184
2079
|
jsonSchema: generate_resource_tarjeta_de_recaudoInputJsonSchema,
|
|
2185
2080
|
endpoint: '/payment/generate-resource',
|
|
2186
2081
|
method: 'POST',
|
|
@@ -2189,12 +2084,9 @@ export const generate_resource_tarjeta_de_recaudoTool = {
|
|
|
2189
2084
|
handler: async (rawArgs) => {
|
|
2190
2085
|
try {
|
|
2191
2086
|
const normalizedArgs = rawArgs ?? {};
|
|
2192
|
-
|
|
2193
|
-
const secretId = normalizedArgs._secretId;
|
|
2194
|
-
// Remover _secretId de los args antes de validar
|
|
2195
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2196
|
-
const validatedInput = validateToolInput(generate_resource_tarjeta_de_recaudoInputValidator, argsToValidate);
|
|
2087
|
+
const validatedInput = validateToolInput(generate_resource_tarjeta_de_recaudoInputValidator, normalizedArgs);
|
|
2197
2088
|
const args = validatedInput;
|
|
2089
|
+
const secretId = args._secretId;
|
|
2198
2090
|
const bodyData = {};
|
|
2199
2091
|
const productIdValue = args.productId !== undefined ? args.productId : 90;
|
|
2200
2092
|
if (productIdValue !== undefined)
|
|
@@ -2232,13 +2124,12 @@ const payment_get_resourceInputJsonSchema = {
|
|
|
2232
2124
|
"properties": {},
|
|
2233
2125
|
"required": []
|
|
2234
2126
|
};
|
|
2235
|
-
const
|
|
2236
|
-
const payment_get_resourceInputValidator = z.object(payment_get_resourceInputShape);
|
|
2127
|
+
const payment_get_resourceInputValidator = z.object({});
|
|
2237
2128
|
// Herramienta: payment_get_resource
|
|
2238
2129
|
export const payment_get_resourceTool = {
|
|
2239
2130
|
name: 'payment_get_resource',
|
|
2240
2131
|
description: "---\\n\\n### Retrieve Payment Resource\\n\\n---\\n\\n#### Description\\n\\nRetrieve a payment resource in the system using the provided customer reference as a parameter. This method returns a response that includes details about the retrieved resource.\\n\\n---\\n\\n#### Request Body Schema\\n\\n- There is no request body for this GET request.\\n \\n\\n---\\n\\n#### Response Body Schema\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object)\\n \\n - \\`payload\\` (object)\\n \\n - \\`url\\` (string): The URL associated with the resource.\\n \\n - \\`reference\\` (string): The reference of the resource.\\n \\n - \\`resourceId\\` (string): The ID of the resource.\\n \\n - \\`expiresIn\\` (string): The expiration time of the resource.\\n \\n - \\`type\\` (string): The type of the resource.\\n \\n - \\`data\\` (string): Additional data related to the resource.\\n \\n - \\`status\\` (number): The status of the resource.\\n \\n\\nThis method returns a response that includes details about the retrieved resource.\n\nContexto: Endpoint: GET /payment/get-resource/:customerReference | Payment > Get resource > :customerReference\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2241
|
-
inputSchema:
|
|
2132
|
+
inputSchema: payment_get_resourceInputValidator,
|
|
2242
2133
|
jsonSchema: payment_get_resourceInputJsonSchema,
|
|
2243
2134
|
endpoint: '/payment/get-resource/:customerReference',
|
|
2244
2135
|
method: 'GET',
|
|
@@ -2247,12 +2138,9 @@ export const payment_get_resourceTool = {
|
|
|
2247
2138
|
handler: async (rawArgs) => {
|
|
2248
2139
|
try {
|
|
2249
2140
|
const normalizedArgs = rawArgs ?? {};
|
|
2250
|
-
|
|
2251
|
-
const secretId = normalizedArgs._secretId;
|
|
2252
|
-
// Remover _secretId de los args antes de validar
|
|
2253
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2254
|
-
const validatedInput = validateToolInput(payment_get_resourceInputValidator, argsToValidate);
|
|
2141
|
+
const validatedInput = validateToolInput(payment_get_resourceInputValidator, normalizedArgs);
|
|
2255
2142
|
const args = validatedInput;
|
|
2143
|
+
const secretId = args._secretId;
|
|
2256
2144
|
return await makeApiRequest('GET', '/payment/get-resource/:customerReference', undefined, undefined, secretId);
|
|
2257
2145
|
}
|
|
2258
2146
|
catch (error) {
|
|
@@ -2280,13 +2168,12 @@ const payment_pse_banksInputJsonSchema = {
|
|
|
2280
2168
|
"properties": {},
|
|
2281
2169
|
"required": []
|
|
2282
2170
|
};
|
|
2283
|
-
const
|
|
2284
|
-
const payment_pse_banksInputValidator = z.object(payment_pse_banksInputShape);
|
|
2171
|
+
const payment_pse_banksInputValidator = z.object({});
|
|
2285
2172
|
// Herramienta: payment_pse_banks
|
|
2286
2173
|
export const payment_pse_banksTool = {
|
|
2287
2174
|
name: 'payment_pse_banks',
|
|
2288
2175
|
description: "---\\n\\n### PSE Banks\\n\\n---\\n\\n#### Description\\n\\nThis service allows you to obtain the banks available to make PSE payments.\\n\\n---\\n\\n#### Request Body Schema\\n\\n- There is no request body for this GET request.\\n \\n\\n---\\n\\n#### Response Body Schema\\n\\n- \\`message\\` (string): A message related to the response.\\n \\n- \\`messageCode\\` (string): A code associated with the message.\\n \\n- \\`data\\` (object)\\n \\n - \\`banks\\`: An array of object with the banks information (id, name and image)\n\nContexto: Endpoint: GET /payment/pse-banks | Payment > Pse banks\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2289
|
-
inputSchema:
|
|
2176
|
+
inputSchema: payment_pse_banksInputValidator,
|
|
2290
2177
|
jsonSchema: payment_pse_banksInputJsonSchema,
|
|
2291
2178
|
endpoint: '/payment/pse-banks',
|
|
2292
2179
|
method: 'GET',
|
|
@@ -2295,12 +2182,9 @@ export const payment_pse_banksTool = {
|
|
|
2295
2182
|
handler: async (rawArgs) => {
|
|
2296
2183
|
try {
|
|
2297
2184
|
const normalizedArgs = rawArgs ?? {};
|
|
2298
|
-
|
|
2299
|
-
const secretId = normalizedArgs._secretId;
|
|
2300
|
-
// Remover _secretId de los args antes de validar
|
|
2301
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2302
|
-
const validatedInput = validateToolInput(payment_pse_banksInputValidator, argsToValidate);
|
|
2185
|
+
const validatedInput = validateToolInput(payment_pse_banksInputValidator, normalizedArgs);
|
|
2303
2186
|
const args = validatedInput;
|
|
2187
|
+
const secretId = args._secretId;
|
|
2304
2188
|
return await makeApiRequest('GET', '/payment/pse-banks', undefined, undefined, secretId);
|
|
2305
2189
|
}
|
|
2306
2190
|
catch (error) {
|
|
@@ -2328,13 +2212,12 @@ const product_listInputJsonSchema = {
|
|
|
2328
2212
|
"properties": {},
|
|
2329
2213
|
"required": []
|
|
2330
2214
|
};
|
|
2331
|
-
const
|
|
2332
|
-
const product_listInputValidator = z.object(product_listInputShape);
|
|
2215
|
+
const product_listInputValidator = z.object({});
|
|
2333
2216
|
// Herramienta: product_list
|
|
2334
2217
|
export const product_listTool = {
|
|
2335
2218
|
name: 'product_list',
|
|
2336
2219
|
description: "---\\n\\n### Retrieve Product List\\n\\nRetrieve a list of active products in the system. This service provides detailed information about the available products for querying. You can filter the results using the optional \\\"type\\\" parameter.\\n\\n---\\n\\n#### Query Parameters\\n\\n- \\`type\\` (optional): Type of products to list. If provided and set to \\\"bills,\\\" it will list products related to invoices; otherwise, it will list all products except those related to invoices and packages.\\n \\n\\n**Example**:\\n\\n\\`\\`\\`\\ntype: bills\\n\\n \\`\\`\\`\\n\\n---\\n\\n#### Response\\n\\nThe response of this request is a JSON schema representing the list of products. An example response schema is as follows:\\n\\n\\`\\`\\` json\\n{\\n \\\"message\\\": \\\"\\\",\\n \\\"messageCode\\\": \\\"\\\",\\n \\\"data\\\": [\\n {\\n \\\"id\\\": 0,\\n \\\"categoryId\\\": 0,\\n \\\"name\\\": \\\"\\\",\\n \\\"needValidation\\\": true,\\n \\\"moduleId\\\": 0,\\n \\\"maxFixedTip\\\": 0,\\n \\\"description\\\": \\\"\\\",\\n \\\"amount\\\": 0,\\n \\\"sort\\\": 0,\\n \\\"meta\\\": {},\\n \\\"image\\\": \\\"\\\",\\n \\\"status\\\": \\\"\\\"\\n }\\n ]\\n}\\n\\n \\`\\`\\`\\n\\nType of products to list. If provided and set to \\\"bills,\\\" it will list products related to invoices; otherwise, it will list all products except those related to invoices and packages.\\n\\n_Example_ : bills\n\nContexto: Endpoint: GET /product/list | Product > List\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2337
|
-
inputSchema:
|
|
2220
|
+
inputSchema: product_listInputValidator,
|
|
2338
2221
|
jsonSchema: product_listInputJsonSchema,
|
|
2339
2222
|
endpoint: '/product/list',
|
|
2340
2223
|
method: 'GET',
|
|
@@ -2343,12 +2226,9 @@ export const product_listTool = {
|
|
|
2343
2226
|
handler: async (rawArgs) => {
|
|
2344
2227
|
try {
|
|
2345
2228
|
const normalizedArgs = rawArgs ?? {};
|
|
2346
|
-
|
|
2347
|
-
const secretId = normalizedArgs._secretId;
|
|
2348
|
-
// Remover _secretId de los args antes de validar
|
|
2349
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2350
|
-
const validatedInput = validateToolInput(product_listInputValidator, argsToValidate);
|
|
2229
|
+
const validatedInput = validateToolInput(product_listInputValidator, normalizedArgs);
|
|
2351
2230
|
const args = validatedInput;
|
|
2231
|
+
const secretId = args._secretId;
|
|
2352
2232
|
return await makeApiRequest('GET', '/product/list', undefined, undefined, secretId);
|
|
2353
2233
|
}
|
|
2354
2234
|
catch (error) {
|
|
@@ -2376,13 +2256,12 @@ const product_packagesInputJsonSchema = {
|
|
|
2376
2256
|
"properties": {},
|
|
2377
2257
|
"required": []
|
|
2378
2258
|
};
|
|
2379
|
-
const
|
|
2380
|
-
const product_packagesInputValidator = z.object(product_packagesInputShape);
|
|
2259
|
+
const product_packagesInputValidator = z.object({});
|
|
2381
2260
|
// Herramienta: product_packages
|
|
2382
2261
|
export const product_packagesTool = {
|
|
2383
2262
|
name: 'product_packages',
|
|
2384
2263
|
description: "---\\n\\n### Retrieve Available Packages\\n\\n---\\n\\n#### Description\\n\\nThis endpoint retrieves a list of available packages in the system. The response is in JSON format and provides detailed information about the packages, which may contain multiple products.\\n\\n**Note:** It is necessary to use this service to keep the packages updated for any changes that occur.\\n\\n---\\n\\n#### Response\\n\\nThe response for this request can be documented as a JSON schema:\\n\\n\\`\\`\\` json\\n{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"messageCode\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"data\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"categories\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"products\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"categoryId\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"needValidation\\\": {\\n \\\"type\\\": \\\"boolean\\\"\\n },\\n \\\"moduleId\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"maxFixedTip\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"amount\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"sort\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"meta\\\": {\\n \\\"type\\\": \\\"object\\\"\\n },\\n \\\"image\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"status\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"categoryId\\\",\\n \\\"name\\\",\\n \\\"needValidation\\\",\\n \\\"moduleId\\\",\\n \\\"maxFixedTip\\\",\\n \\\"description\\\",\\n \\\"amount\\\",\\n \\\"sort\\\",\\n \\\"meta\\\",\\n \\\"image\\\",\\n \\\"status\\\"\\n ]\\n }\\n },\\n \\\"internalName\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"description\\\",\\n \\\"products\\\",\\n \\\"internalName\\\"\\n ]\\n }\\n },\\n \\\"internalName\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"description\\\",\\n \\\"categories\\\",\\n \\\"internalName\\\"\\n ]\\n }\\n }\\n },\\n \\\"required\\\": [\\n \\\"message\\\",\\n \\\"messageCode\\\",\\n \\\"data\\\"\\n ]\\n}\\n\\n \\`\\`\\`\n\nContexto: Endpoint: GET /product/packages | Product > Packages\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2385
|
-
inputSchema:
|
|
2264
|
+
inputSchema: product_packagesInputValidator,
|
|
2386
2265
|
jsonSchema: product_packagesInputJsonSchema,
|
|
2387
2266
|
endpoint: '/product/packages',
|
|
2388
2267
|
method: 'GET',
|
|
@@ -2391,12 +2270,9 @@ export const product_packagesTool = {
|
|
|
2391
2270
|
handler: async (rawArgs) => {
|
|
2392
2271
|
try {
|
|
2393
2272
|
const normalizedArgs = rawArgs ?? {};
|
|
2394
|
-
|
|
2395
|
-
const secretId = normalizedArgs._secretId;
|
|
2396
|
-
// Remover _secretId de los args antes de validar
|
|
2397
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2398
|
-
const validatedInput = validateToolInput(product_packagesInputValidator, argsToValidate);
|
|
2273
|
+
const validatedInput = validateToolInput(product_packagesInputValidator, normalizedArgs);
|
|
2399
2274
|
const args = validatedInput;
|
|
2275
|
+
const secretId = args._secretId;
|
|
2400
2276
|
return await makeApiRequest('GET', '/product/packages', undefined, undefined, secretId);
|
|
2401
2277
|
}
|
|
2402
2278
|
catch (error) {
|
|
@@ -2424,13 +2300,12 @@ const product_commissionsInputJsonSchema = {
|
|
|
2424
2300
|
"properties": {},
|
|
2425
2301
|
"required": []
|
|
2426
2302
|
};
|
|
2427
|
-
const
|
|
2428
|
-
const product_commissionsInputValidator = z.object(product_commissionsInputShape);
|
|
2303
|
+
const product_commissionsInputValidator = z.object({});
|
|
2429
2304
|
// Herramienta: product_commissions
|
|
2430
2305
|
export const product_commissionsTool = {
|
|
2431
2306
|
name: 'product_commissions',
|
|
2432
2307
|
description: "---\\n\\n### Retrieve Product Commissions\\n\\n---\\n\\n#### Description\\n\\nRetrieve detailed information about the commissions associated with registered products.\\n\\n---\\n\\n#### Response\\n\\nThe response for this request is a JSON object with the following schema:\\n\\n\\`\\`\\` json\\n{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"message\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"messageCode\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"data\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\\"type\\\": \\\"number\\\"},\\n \\\"name\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"image\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"fixedCommission\\\": {\\\"type\\\": \\\"object\\\"},\\n \\\"maxFixedCommission\\\": {\\\"type\\\": \\\"number\\\"},\\n \\\"commission\\\": {\\\"type\\\": \\\"number\\\"},\\n \\\"commissionType\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"amount\\\": {\\\"type\\\": \\\"object\\\"},\\n \\\"category\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"key\\\": {\\\"type\\\": \\\"string\\\"},\\n \\\"overdraft\\\": {\\\"type\\\": \\\"number\\\"}\\n }\\n }\\n }\\n }\\n}\\n\\n \\`\\`\\`\n\nContexto: Endpoint: GET /product/commissions | Product > Commissions\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2433
|
-
inputSchema:
|
|
2308
|
+
inputSchema: product_commissionsInputValidator,
|
|
2434
2309
|
jsonSchema: product_commissionsInputJsonSchema,
|
|
2435
2310
|
endpoint: '/product/commissions',
|
|
2436
2311
|
method: 'GET',
|
|
@@ -2439,12 +2314,9 @@ export const product_commissionsTool = {
|
|
|
2439
2314
|
handler: async (rawArgs) => {
|
|
2440
2315
|
try {
|
|
2441
2316
|
const normalizedArgs = rawArgs ?? {};
|
|
2442
|
-
|
|
2443
|
-
const secretId = normalizedArgs._secretId;
|
|
2444
|
-
// Remover _secretId de los args antes de validar
|
|
2445
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2446
|
-
const validatedInput = validateToolInput(product_commissionsInputValidator, argsToValidate);
|
|
2317
|
+
const validatedInput = validateToolInput(product_commissionsInputValidator, normalizedArgs);
|
|
2447
2318
|
const args = validatedInput;
|
|
2319
|
+
const secretId = args._secretId;
|
|
2448
2320
|
return await makeApiRequest('GET', '/product/commissions', undefined, undefined, secretId);
|
|
2449
2321
|
}
|
|
2450
2322
|
catch (error) {
|
|
@@ -2472,13 +2344,12 @@ const product_categoriesInputJsonSchema = {
|
|
|
2472
2344
|
"properties": {},
|
|
2473
2345
|
"required": []
|
|
2474
2346
|
};
|
|
2475
|
-
const
|
|
2476
|
-
const product_categoriesInputValidator = z.object(product_categoriesInputShape);
|
|
2347
|
+
const product_categoriesInputValidator = z.object({});
|
|
2477
2348
|
// Herramienta: product_categories
|
|
2478
2349
|
export const product_categoriesTool = {
|
|
2479
2350
|
name: 'product_categories',
|
|
2480
2351
|
description: "---\\n\\n### Retrieve Product Categories\\n\\n---\\n\\n#### Description\\n\\nThis service provides detailed information on the categories and their subcategories.\\n\\n---\\n\\n#### Response\\n\\nThe response for this request can be documented as a JSON schema:\\n\\n\\`\\`\\` json\\n{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"messageCode\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"data\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"categories\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"products\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"id\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"categoryId\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"name\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"needValidation\\\": {\\n \\\"type\\\": \\\"boolean\\\"\\n },\\n \\\"moduleId\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"maxFixedTip\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"description\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"amount\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"sort\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"meta\\\": {\\n \\\"type\\\": \\\"object\\\"\\n },\\n \\\"image\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"status\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"categoryId\\\",\\n \\\"name\\\",\\n \\\"needValidation\\\",\\n \\\"moduleId\\\",\\n \\\"maxFixedTip\\\",\\n \\\"description\\\",\\n \\\"amount\\\",\\n \\\"sort\\\",\\n \\\"meta\\\",\\n \\\"image\\\",\\n \\\"status\\\"\\n ]\\n }\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"description\\\",\\n \\\"products\\\"\\n ]\\n }\\n },\\n \\\"internalName\\\": {\\n \\\"type\\\": \\\"string\\\"\\n }\\n },\\n \\\"required\\\": [\\n \\\"id\\\",\\n \\\"name\\\",\\n \\\"description\\\",\\n \\\"categories\\\",\\n \\\"internalName\\\"\\n ]\\n }\\n }\\n },\\n \\\"required\\\": [\\n \\\"message\\\",\\n \\\"messageCode\\\",\\n \\\"data\\\"\\n ]\\n}\\n\\n \\`\\`\\`\n\nContexto: Endpoint: GET /product/categories | Product > Categories\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2481
|
-
inputSchema:
|
|
2352
|
+
inputSchema: product_categoriesInputValidator,
|
|
2482
2353
|
jsonSchema: product_categoriesInputJsonSchema,
|
|
2483
2354
|
endpoint: '/product/categories',
|
|
2484
2355
|
method: 'GET',
|
|
@@ -2487,12 +2358,9 @@ export const product_categoriesTool = {
|
|
|
2487
2358
|
handler: async (rawArgs) => {
|
|
2488
2359
|
try {
|
|
2489
2360
|
const normalizedArgs = rawArgs ?? {};
|
|
2490
|
-
|
|
2491
|
-
const secretId = normalizedArgs._secretId;
|
|
2492
|
-
// Remover _secretId de los args antes de validar
|
|
2493
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2494
|
-
const validatedInput = validateToolInput(product_categoriesInputValidator, argsToValidate);
|
|
2361
|
+
const validatedInput = validateToolInput(product_categoriesInputValidator, normalizedArgs);
|
|
2495
2362
|
const args = validatedInput;
|
|
2363
|
+
const secretId = args._secretId;
|
|
2496
2364
|
return await makeApiRequest('GET', '/product/categories', undefined, undefined, secretId);
|
|
2497
2365
|
}
|
|
2498
2366
|
catch (error) {
|
|
@@ -2526,15 +2394,14 @@ const product_searchInputJsonSchema = {
|
|
|
2526
2394
|
},
|
|
2527
2395
|
"required": []
|
|
2528
2396
|
};
|
|
2529
|
-
const
|
|
2397
|
+
const product_searchInputValidator = z.object({
|
|
2530
2398
|
query: z.string().optional().describe("Campo del body: query")
|
|
2531
|
-
};
|
|
2532
|
-
const product_searchInputValidator = z.object(product_searchInputShape);
|
|
2399
|
+
});
|
|
2533
2400
|
// Herramienta: product_search
|
|
2534
2401
|
export const product_searchTool = {
|
|
2535
2402
|
name: 'product_search',
|
|
2536
2403
|
description: "---\\n\\n### Search Product\\n\\n---\\n\\n#### Description\\n\\nAllows searching for invoice agreements on the platform using specific terms. Send the request body with the necessary parameters in the format specified by the SearchBody object. The operation returns results that match the provided search terms.\\n\\n---\\n\\n#### Request Body\\n\\n- The request body should be in JSON format with the following parameter:\\n \\n - \\`query\\`: The search term.\\n \\n\\n---\\n\\n#### Response\\n\\nThe response will be a JSON object with the following properties:\\n\\n- \\`message\\`: A message related to the response.\\n \\n- \\`messageCode\\`: A code related to the message.\\n \\n- \\`data\\`: An array of objects containing product information with the following properties:\\n \\n - \\`id\\`: The ID of the product.\\n \\n - \\`name\\`: The name of the product.\\n \\n - \\`key\\`: The key of the product.\\n \\n - \\`productId\\`: The ID of the product.\\n \\n - \\`needsAmountInQuery:\\` Boolean value that indicates wheter the invoice value should be include in the query.\\n \\n - \\`form:\\` Array of objects that shows me the necessary references to consult the invoice. In case it arrives empty you must send a reference of preference.\n\nContexto: Endpoint: POST /product/search | Product > Search\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2537
|
-
inputSchema:
|
|
2404
|
+
inputSchema: product_searchInputValidator,
|
|
2538
2405
|
jsonSchema: product_searchInputJsonSchema,
|
|
2539
2406
|
endpoint: '/product/search',
|
|
2540
2407
|
method: 'POST',
|
|
@@ -2543,12 +2410,9 @@ export const product_searchTool = {
|
|
|
2543
2410
|
handler: async (rawArgs) => {
|
|
2544
2411
|
try {
|
|
2545
2412
|
const normalizedArgs = rawArgs ?? {};
|
|
2546
|
-
|
|
2547
|
-
const secretId = normalizedArgs._secretId;
|
|
2548
|
-
// Remover _secretId de los args antes de validar
|
|
2549
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2550
|
-
const validatedInput = validateToolInput(product_searchInputValidator, argsToValidate);
|
|
2413
|
+
const validatedInput = validateToolInput(product_searchInputValidator, normalizedArgs);
|
|
2551
2414
|
const args = validatedInput;
|
|
2415
|
+
const secretId = args._secretId;
|
|
2552
2416
|
const bodyData = {};
|
|
2553
2417
|
const queryValue = args.query !== undefined ? args.query : "enel";
|
|
2554
2418
|
if (queryValue !== undefined)
|
|
@@ -2602,18 +2466,17 @@ const product_queryInputJsonSchema = {
|
|
|
2602
2466
|
},
|
|
2603
2467
|
"required": []
|
|
2604
2468
|
};
|
|
2605
|
-
const
|
|
2469
|
+
const product_queryInputValidator = z.object({
|
|
2606
2470
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2607
2471
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2608
2472
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
2609
2473
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
2610
|
-
};
|
|
2611
|
-
const product_queryInputValidator = z.object(product_queryInputShape);
|
|
2474
|
+
});
|
|
2612
2475
|
// Herramienta: product_query
|
|
2613
2476
|
export const product_queryTool = {
|
|
2614
2477
|
name: 'product_query',
|
|
2615
2478
|
description: "---\\n\\n### Description\\n\\nThis HTTP POST request is used to perform a custom query on the platform. The request body should be sent with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\n\\nIt is important that when the request fails with the errorCode \\\"product.errors.disabled\\\" or similar indicating that the product is inactive, the agreements are consulted again using the search.\\n\\n---\\n\\n### Request Body Schema\\n\\n- productId (number) \\`required\\`: Identifier of the product to perform the query.\\n \\n- queryType (string) \\`required\\`: Type of query to be performed.\\n \\n- ownAgreementId (null): Identifier of the own agreement, if applicable.\\n \\n- data (object) \\`required\\`: Additional data for the query.\\n \\n - reference (string) \\`required\\`: Reference for the query.\\n \\n\\n---\\n\\n### Response Body Schema\\n\\n- message (string): Response message.\\n \\n- messageCode (string): Code related to the response message.\\n \\n- data (object): Response data object.\\n \\n - payload (object): Payload data.\\n \\n - amount (number): Amount related to the product.\\n \\n - productId (number): ID of the product.\\n \\n - productName (string): Name of the product.\\n \\n - reference (string): Reference related to the query.\\n \\n - hashEchoData (string): Hash echo data.\\n \\n - hash (string): Hash value.\\n \\n - amountEditable (boolean): Indicates if the amount is editable.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2616
|
-
inputSchema:
|
|
2479
|
+
inputSchema: product_queryInputValidator,
|
|
2617
2480
|
jsonSchema: product_queryInputJsonSchema,
|
|
2618
2481
|
endpoint: '/product/query',
|
|
2619
2482
|
method: 'POST',
|
|
@@ -2622,12 +2485,9 @@ export const product_queryTool = {
|
|
|
2622
2485
|
handler: async (rawArgs) => {
|
|
2623
2486
|
try {
|
|
2624
2487
|
const normalizedArgs = rawArgs ?? {};
|
|
2625
|
-
|
|
2626
|
-
const secretId = normalizedArgs._secretId;
|
|
2627
|
-
// Remover _secretId de los args antes de validar
|
|
2628
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2629
|
-
const validatedInput = validateToolInput(product_queryInputValidator, argsToValidate);
|
|
2488
|
+
const validatedInput = validateToolInput(product_queryInputValidator, normalizedArgs);
|
|
2630
2489
|
const args = validatedInput;
|
|
2490
|
+
const secretId = args._secretId;
|
|
2631
2491
|
const bodyData = {};
|
|
2632
2492
|
const productIdValue = args.productId !== undefined ? args.productId : 52204;
|
|
2633
2493
|
if (productIdValue !== undefined)
|
|
@@ -2688,18 +2548,17 @@ const query_claro_telefoniaInputJsonSchema = {
|
|
|
2688
2548
|
},
|
|
2689
2549
|
"required": []
|
|
2690
2550
|
};
|
|
2691
|
-
const
|
|
2551
|
+
const query_claro_telefoniaInputValidator = z.object({
|
|
2692
2552
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2693
2553
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2694
2554
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
2695
2555
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
2696
|
-
};
|
|
2697
|
-
const query_claro_telefoniaInputValidator = z.object(query_claro_telefoniaInputShape);
|
|
2556
|
+
});
|
|
2698
2557
|
// Herramienta: query_claro_telefonia
|
|
2699
2558
|
export const query_claro_telefoniaTool = {
|
|
2700
2559
|
name: 'query_claro_telefonia',
|
|
2701
2560
|
description: "---\\n\\n### Product Query\\n\\n---\\n\\n#### Description\\n\\nAllows performing a custom query on the platform. Send the request body with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\n\\n---\\n\\n**Request Body:**\\n\\n- \\`productId\\` (integer, required): Identifier of the product to perform the query.\\n \\n- \\`queryType\\` (string, required): The type of query to be performed.\\n \\n- \\`ownAgreementId\\` (string, optional): Identifier of the own agreement, if applicable.\\n \\n- \\`data\\` (object, required): Additional data for the query in object format.\\n \\n - \\`reference\\` (string, required): The reference for the query data.\\n \\n\\n---\\n\\n**Response JSON Schema:**\\n\\n\\`\\`\\` json\\n{\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"message\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"messageCode\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"data\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"payload\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"amount\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"productId\\\": {\\n \\\"type\\\": \\\"integer\\\"\\n },\\n \\\"productName\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"reference\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"hashEchoData\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"hash\\\": {\\n \\\"type\\\": \\\"string\\\"\\n },\\n \\\"amountEditable\\\": {\\n \\\"type\\\": \\\"boolean\\\"\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\\n \\`\\`\\`\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2702
|
-
inputSchema:
|
|
2561
|
+
inputSchema: query_claro_telefoniaInputValidator,
|
|
2703
2562
|
jsonSchema: query_claro_telefoniaInputJsonSchema,
|
|
2704
2563
|
endpoint: '/product/query',
|
|
2705
2564
|
method: 'POST',
|
|
@@ -2708,12 +2567,9 @@ export const query_claro_telefoniaTool = {
|
|
|
2708
2567
|
handler: async (rawArgs) => {
|
|
2709
2568
|
try {
|
|
2710
2569
|
const normalizedArgs = rawArgs ?? {};
|
|
2711
|
-
|
|
2712
|
-
const secretId = normalizedArgs._secretId;
|
|
2713
|
-
// Remover _secretId de los args antes de validar
|
|
2714
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2715
|
-
const validatedInput = validateToolInput(query_claro_telefoniaInputValidator, argsToValidate);
|
|
2570
|
+
const validatedInput = validateToolInput(query_claro_telefoniaInputValidator, normalizedArgs);
|
|
2716
2571
|
const args = validatedInput;
|
|
2572
|
+
const secretId = args._secretId;
|
|
2717
2573
|
const bodyData = {};
|
|
2718
2574
|
const productIdValue = args.productId !== undefined ? args.productId : 52683;
|
|
2719
2575
|
if (productIdValue !== undefined)
|
|
@@ -2774,18 +2630,17 @@ const query_acueducto_de_bogotaInputJsonSchema = {
|
|
|
2774
2630
|
},
|
|
2775
2631
|
"required": []
|
|
2776
2632
|
};
|
|
2777
|
-
const
|
|
2633
|
+
const query_acueducto_de_bogotaInputValidator = z.object({
|
|
2778
2634
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2779
2635
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2780
2636
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
2781
2637
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
2782
|
-
};
|
|
2783
|
-
const query_acueducto_de_bogotaInputValidator = z.object(query_acueducto_de_bogotaInputShape);
|
|
2638
|
+
});
|
|
2784
2639
|
// Herramienta: query_acueducto_de_bogota
|
|
2785
2640
|
export const query_acueducto_de_bogotaTool = {
|
|
2786
2641
|
name: 'query_acueducto_de_bogota',
|
|
2787
2642
|
description: "---\\n\\n### HTTP POST /product/query\\n\\n---\\n\\n#### Description\\n\\nAllows performing a custom query on the platform.\\n\\n---\\n\\n#### Request Body\\n\\n- raw (application/json)\\n \\n - productId (number, \\`required\\`): Identifier of the product to perform the query.\\n \\n - queryType (string. \\`required\\`): Additional data for the query in object format.\\n \\n - ownAgreementId (number, \\`optional\\`): Identifier of the own agreement, if applicable\\n \\n - data (object): Additional data for the query in object format.\\n \\n - reference (string): Reference data.\\n \\n\\n---\\n\\n#### Response\\n\\nThe response will include the results of the query in case of success.\\n\\n#### Response Schema\\n\\n- message (string): The message from the response.\\n \\n- messageCode (string): The code related to the message.\\n \\n- data (object)\\n \\n - payload (object)\\n \\n - amount (number): The amount related to the query result.\\n \\n - productId (number): The ID of the product related to the query result.\\n \\n - productName (string): The name of the product related to the query result.\\n \\n - reference (string): The reference related to the query result.\\n \\n - hashEchoData (string): The echoed hash data.\\n \\n - hash (string): The hash data.\\n \\n - amountEditable (boolean): Indicates whether the amount is editable or not.\\n \\n- code (string): The code from the response.\\n \\n- errorCode (string): The error code from the response.\\n \\n- statusCode (number): The status code from the response.\\n \\n- timestamp (number): The timestamp of the response.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2788
|
-
inputSchema:
|
|
2643
|
+
inputSchema: query_acueducto_de_bogotaInputValidator,
|
|
2789
2644
|
jsonSchema: query_acueducto_de_bogotaInputJsonSchema,
|
|
2790
2645
|
endpoint: '/product/query',
|
|
2791
2646
|
method: 'POST',
|
|
@@ -2794,12 +2649,9 @@ export const query_acueducto_de_bogotaTool = {
|
|
|
2794
2649
|
handler: async (rawArgs) => {
|
|
2795
2650
|
try {
|
|
2796
2651
|
const normalizedArgs = rawArgs ?? {};
|
|
2797
|
-
|
|
2798
|
-
const secretId = normalizedArgs._secretId;
|
|
2799
|
-
// Remover _secretId de los args antes de validar
|
|
2800
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2801
|
-
const validatedInput = validateToolInput(query_acueducto_de_bogotaInputValidator, argsToValidate);
|
|
2652
|
+
const validatedInput = validateToolInput(query_acueducto_de_bogotaInputValidator, normalizedArgs);
|
|
2802
2653
|
const args = validatedInput;
|
|
2654
|
+
const secretId = args._secretId;
|
|
2803
2655
|
const bodyData = {};
|
|
2804
2656
|
const productIdValue = args.productId !== undefined ? args.productId : 52204;
|
|
2805
2657
|
if (productIdValue !== undefined)
|
|
@@ -2861,18 +2713,17 @@ const query_convenio_vendoInputJsonSchema = {
|
|
|
2861
2713
|
},
|
|
2862
2714
|
"required": []
|
|
2863
2715
|
};
|
|
2864
|
-
const
|
|
2716
|
+
const query_convenio_vendoInputValidator = z.object({
|
|
2865
2717
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2866
2718
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2867
2719
|
ownAgreementId: z.number().optional().describe("Campo del body: ownAgreementId"),
|
|
2868
2720
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
2869
|
-
};
|
|
2870
|
-
const query_convenio_vendoInputValidator = z.object(query_convenio_vendoInputShape);
|
|
2721
|
+
});
|
|
2871
2722
|
// Herramienta: query_convenio_vendo
|
|
2872
2723
|
export const query_convenio_vendoTool = {
|
|
2873
2724
|
name: 'query_convenio_vendo',
|
|
2874
2725
|
description: "---\\n\\n### Description\\n\\nThis HTTP POST request is used to perform a custom query on the platform. The request body should be sent with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\n\\n---\\n\\n### Request Body Schema\\n\\n- productId (number) \\`required\\`: Identifier of the product to perform the query.\\n \\n- queryType (string) \\`required\\`: Type of query to be performed.\\n \\n- ownAgreementId (null): Identifier of the own agreement, if applicable.\\n \\n- data (object) \\`required\\`: Additional data for the query.\\n \\n - reference (string) \\`required\\`: Reference for the query.\\n \\n\\n---\\n\\n### Response Body Schema\\n\\n- message (string): Response message.\\n \\n- messageCode (string): Code related to the response message.\\n \\n- data (object): Response data object.\\n \\n - payload (object): Payload data.\\n \\n - amount (number): Amount related to the product.\\n \\n - productId (number): ID of the product.\\n \\n - productName (string): Name of the product.\\n \\n - reference (string): Reference related to the query.\\n \\n - hashEchoData (string): Hash echo data.\\n \\n - hash (string): Hash value.\\n \\n - amountEditable (boolean): Indicates if the amount is editable.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2875
|
-
inputSchema:
|
|
2726
|
+
inputSchema: query_convenio_vendoInputValidator,
|
|
2876
2727
|
jsonSchema: query_convenio_vendoInputJsonSchema,
|
|
2877
2728
|
endpoint: '/product/query',
|
|
2878
2729
|
method: 'POST',
|
|
@@ -2881,12 +2732,9 @@ export const query_convenio_vendoTool = {
|
|
|
2881
2732
|
handler: async (rawArgs) => {
|
|
2882
2733
|
try {
|
|
2883
2734
|
const normalizedArgs = rawArgs ?? {};
|
|
2884
|
-
|
|
2885
|
-
const secretId = normalizedArgs._secretId;
|
|
2886
|
-
// Remover _secretId de los args antes de validar
|
|
2887
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2888
|
-
const validatedInput = validateToolInput(query_convenio_vendoInputValidator, argsToValidate);
|
|
2735
|
+
const validatedInput = validateToolInput(query_convenio_vendoInputValidator, normalizedArgs);
|
|
2889
2736
|
const args = validatedInput;
|
|
2737
|
+
const secretId = args._secretId;
|
|
2890
2738
|
const bodyData = {};
|
|
2891
2739
|
const productIdValue = args.productId !== undefined ? args.productId : 1100000;
|
|
2892
2740
|
if (productIdValue !== undefined)
|
|
@@ -2932,15 +2780,14 @@ const product_act_val_pro_stateInputJsonSchema = {
|
|
|
2932
2780
|
},
|
|
2933
2781
|
"required": []
|
|
2934
2782
|
};
|
|
2935
|
-
const
|
|
2783
|
+
const product_act_val_pro_stateInputValidator = z.object({
|
|
2936
2784
|
body: z.string().optional().describe("Body del request")
|
|
2937
|
-
};
|
|
2938
|
-
const product_act_val_pro_stateInputValidator = z.object(product_act_val_pro_stateInputShape);
|
|
2785
|
+
});
|
|
2939
2786
|
// Herramienta: product_act_val_pro_state
|
|
2940
2787
|
export const product_act_val_pro_stateTool = {
|
|
2941
2788
|
name: 'product_act_val_pro_state',
|
|
2942
2789
|
description: "---\\n\\n### Description\\n\\nAllows users to verify the activation status of a special product. The user making the request can determine the stage of their special product activation request. Below is a list of status codes along with their corresponding messages, indicating whether the request is pending review, approved, rejected, confirmed, managed by the affiliations area, or if the linking process for the product has already started. This information is useful for keeping the user informed about the progress of their request and for them to take necessary actions based on the current process status.\\n\\nThe following is a list of product status codes and their messages.\\n\\n\\`\\`\\`\\n | id | name | message |\\n |----|------------|-------------------------------------------------------------------------------------------------------|\\n | P | PENDING | Your application is pending review |\\n | A | APPROVED | Your application has been approved, we are waiting for the supplier to review your documents |\\n | R | REJECTED | Your application has been rejected, please contact your advisor. |\\n | M | MANAGEMENT | Your application is being handled by the linking area. |\\n | C | CONFIRM | Your application is confirmed, you can now sell your product. |\\n | S | STARTED | You have already tried to complete the linking process for this product, continue filling in the data |\\n\\n \\`\\`\\`\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`categoryId\\`: Number representing the category identifier (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`status\\`: String representing the status\\n \\n - \\`state\\`: Boolean indicating the state\\n \\n - \\`message\\`: String containing an additional message\\n \\n - \\`stateCode\\`: String representing a state code\n\nContexto: Endpoint: POST /product/activation/validate-product-state | Product > Activation > Validate product state\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2943
|
-
inputSchema:
|
|
2790
|
+
inputSchema: product_act_val_pro_stateInputValidator,
|
|
2944
2791
|
jsonSchema: product_act_val_pro_stateInputJsonSchema,
|
|
2945
2792
|
endpoint: '/product/activation/validate-product-state',
|
|
2946
2793
|
method: 'POST',
|
|
@@ -2949,12 +2796,9 @@ export const product_act_val_pro_stateTool = {
|
|
|
2949
2796
|
handler: async (rawArgs) => {
|
|
2950
2797
|
try {
|
|
2951
2798
|
const normalizedArgs = rawArgs ?? {};
|
|
2952
|
-
|
|
2953
|
-
const secretId = normalizedArgs._secretId;
|
|
2954
|
-
// Remover _secretId de los args antes de validar
|
|
2955
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
2956
|
-
const validatedInput = validateToolInput(product_act_val_pro_stateInputValidator, argsToValidate);
|
|
2799
|
+
const validatedInput = validateToolInput(product_act_val_pro_stateInputValidator, normalizedArgs);
|
|
2957
2800
|
const args = validatedInput;
|
|
2801
|
+
const secretId = args._secretId;
|
|
2958
2802
|
const bodyData = args.body || {};
|
|
2959
2803
|
return await makeApiRequest('POST', '/product/activation/validate-product-state', undefined, undefined, secretId);
|
|
2960
2804
|
}
|
|
@@ -2988,15 +2832,14 @@ const product_act_get_pro_requirementsInputJsonSchema = {
|
|
|
2988
2832
|
},
|
|
2989
2833
|
"required": []
|
|
2990
2834
|
};
|
|
2991
|
-
const
|
|
2835
|
+
const product_act_get_pro_requirementsInputValidator = z.object({
|
|
2992
2836
|
body: z.string().optional().describe("Body del request")
|
|
2993
|
-
};
|
|
2994
|
-
const product_act_get_pro_requirementsInputValidator = z.object(product_act_get_pro_requirementsInputShape);
|
|
2837
|
+
});
|
|
2995
2838
|
// Herramienta: product_act_get_pro_requirements
|
|
2996
2839
|
export const product_act_get_pro_requirementsTool = {
|
|
2997
2840
|
name: 'product_act_get_pro_requirements',
|
|
2998
2841
|
description: "---\\n\\n## Description\\n\\nAllows retrieving all the necessary and mandatory requirements to complete the activation process of a special product. The requirements are divided into categories, each with a specific description. Each category contains a list of detailed requirements, such as personal data, merchant information, and additional documents. Requirements may include document uploads, information validation, or contract signing. These requirements are essential for the user to access the special product, and this method provides the necessary information for the user to successfully complete the activation process.\\n\\nIn the response for each requirement, you\\'ll find the \\'type\\' attribute. This attribute determines the type of data required to construct the form that the user must complete. Some common data types include:\\n\\n\\`\\`\\`\\n | type | description |\\n |-----------------------|-----------------------------------------------------------------------------------------------------|\\n | text | For entering text information, such as names, surnames, etc. |\\n | file | Allows uploading files, such as images or documents. |\\n | select | Presents options for the user to choose from. |\\n | downloadAndUpload | Provides a link to download one file and then upload another related file. |\\n | securityQuestions | Provides security questions for authentication. |\\n | checkboxLink | For accepting terms and conditions through a verification link. |\\n | loanApplicationPolicy | Information and acceptance of the loan application policy. |\\n | location | Allows the user to enter or select their location. |\\n | metamap | Redirects the user to the Metamap process for identity validation. |\\n | bankAccount | Provides the basic structure to build the form for a banking process. |\\n | | It includes selecting the bank entity, entering the account number, and selecting the account type. |\\n\\n \\`\\`\\`\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`categoryId\\`: Number representing the category identifier (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`id\\`: Number representing the identifier\\n \\n - \\`name\\`: String representing the name\\n \\n - \\`description\\`: String containing the description\\n \\n - \\`requirements\\`: Array of requirement objects\\n \\n - \\`id\\`: Number representing the requirement identifier\\n \\n - \\`name\\`: String representing the requirement name\\n \\n - \\`description\\`: String containing the requirement description\\n \\n - \\`form\\`: Object containing form data\n\nContexto: Endpoint: POST /product/activation/get-process-requirements | Product > Activation > Get process requirements\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
2999
|
-
inputSchema:
|
|
2842
|
+
inputSchema: product_act_get_pro_requirementsInputValidator,
|
|
3000
2843
|
jsonSchema: product_act_get_pro_requirementsInputJsonSchema,
|
|
3001
2844
|
endpoint: '/product/activation/get-process-requirements',
|
|
3002
2845
|
method: 'POST',
|
|
@@ -3005,12 +2848,9 @@ export const product_act_get_pro_requirementsTool = {
|
|
|
3005
2848
|
handler: async (rawArgs) => {
|
|
3006
2849
|
try {
|
|
3007
2850
|
const normalizedArgs = rawArgs ?? {};
|
|
3008
|
-
|
|
3009
|
-
const secretId = normalizedArgs._secretId;
|
|
3010
|
-
// Remover _secretId de los args antes de validar
|
|
3011
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3012
|
-
const validatedInput = validateToolInput(product_act_get_pro_requirementsInputValidator, argsToValidate);
|
|
2851
|
+
const validatedInput = validateToolInput(product_act_get_pro_requirementsInputValidator, normalizedArgs);
|
|
3013
2852
|
const args = validatedInput;
|
|
2853
|
+
const secretId = args._secretId;
|
|
3014
2854
|
const bodyData = args.body || {};
|
|
3015
2855
|
return await makeApiRequest('POST', '/product/activation/get-process-requirements', undefined, undefined, secretId);
|
|
3016
2856
|
}
|
|
@@ -3061,15 +2901,14 @@ const product_activation_updateInputJsonSchema = {
|
|
|
3061
2901
|
},
|
|
3062
2902
|
"required": []
|
|
3063
2903
|
};
|
|
3064
|
-
const
|
|
2904
|
+
const product_activation_updateInputValidator = z.object({
|
|
3065
2905
|
requirements: z.record(z.any()).optional().describe("Campo del body: requirements")
|
|
3066
|
-
};
|
|
3067
|
-
const product_activation_updateInputValidator = z.object(product_activation_updateInputShape);
|
|
2906
|
+
});
|
|
3068
2907
|
// Herramienta: product_activation_update
|
|
3069
2908
|
export const product_activation_updateTool = {
|
|
3070
2909
|
name: 'product_activation_update',
|
|
3071
2910
|
description: "---\\n\\n## Description\\n\\nAllows updating the information of the requirements completed by the user for the activation process of a special product. Users can modify the information provided in each of the requirements to ensure it is up-to-date and accurate. Updating the information of the requirements is essential to progress in the activation process of the special product. Once the information is updated, it is evaluated again to determine if all necessary requirements are met to continue or complete the activation process.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`requirements\\`: Object containing requirement data (required)\\n \\n - Each key is a string representing a requirement ID\\n \\n - Each value is an object with arbitrary properties\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`errors\\`: Array of error objects\\n \\n - \\`id\\`: Number representing the error identifier\\n \\n - \\`message\\`: String containing the error message\n\nContexto: Endpoint: POST /product/activation/update | Product > Activation > Update\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3072
|
-
inputSchema:
|
|
2911
|
+
inputSchema: product_activation_updateInputValidator,
|
|
3073
2912
|
jsonSchema: product_activation_updateInputJsonSchema,
|
|
3074
2913
|
endpoint: '/product/activation/update',
|
|
3075
2914
|
method: 'POST',
|
|
@@ -3078,12 +2917,9 @@ export const product_activation_updateTool = {
|
|
|
3078
2917
|
handler: async (rawArgs) => {
|
|
3079
2918
|
try {
|
|
3080
2919
|
const normalizedArgs = rawArgs ?? {};
|
|
3081
|
-
|
|
3082
|
-
const secretId = normalizedArgs._secretId;
|
|
3083
|
-
// Remover _secretId de los args antes de validar
|
|
3084
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3085
|
-
const validatedInput = validateToolInput(product_activation_updateInputValidator, argsToValidate);
|
|
2920
|
+
const validatedInput = validateToolInput(product_activation_updateInputValidator, normalizedArgs);
|
|
3086
2921
|
const args = validatedInput;
|
|
2922
|
+
const secretId = args._secretId;
|
|
3087
2923
|
const bodyData = {};
|
|
3088
2924
|
const requirementsValue = args.requirements !== undefined ? args.requirements : { "1": { "name": "Leonardo" }, "9": { "lastName": "Baquerp" }, "10": { "cellphone": "3015874029" }, "46": { "fundsOrigin": true }, "48": { "checkDataTreatment": "true" } };
|
|
3089
2925
|
if (requirementsValue !== undefined)
|
|
@@ -3115,13 +2951,12 @@ const product_activation_upload_fileInputJsonSchema = {
|
|
|
3115
2951
|
"properties": {},
|
|
3116
2952
|
"required": []
|
|
3117
2953
|
};
|
|
3118
|
-
const
|
|
3119
|
-
const product_activation_upload_fileInputValidator = z.object(product_activation_upload_fileInputShape);
|
|
2954
|
+
const product_activation_upload_fileInputValidator = z.object({});
|
|
3120
2955
|
// Herramienta: product_activation_upload_file
|
|
3121
2956
|
export const product_activation_upload_fileTool = {
|
|
3122
2957
|
name: 'product_activation_upload_file',
|
|
3123
2958
|
description: "---\\n\\n### Description\\n\\nAllows users to upload files necessary to meet the requirements of the activation process for a special product. The uploaded files can be documents in PDF format, images in JPG, JPEG, or PNG formats, or Word documents in DOC or DOCX format. Before uploading a file, validations are performed to ensure that it meets the established type and size requirements. Once uploaded, the file can be subsequently validated as part of the special product activation process. If the file meets the requirements, it will contribute to the progress of the process; otherwise, it will be indicated as invalid, and a new upload will be requested.\\n\\n---\\n\\n### Response schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`errors\\`: Array of error objects\\n \\n - \\`id\\`: Number representing the error identifier\\n \\n - \\`message\\`: String containing the error message\n\nContexto: Endpoint: POST /product/activation/upload/file | Product > Activation > Upload > File\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3124
|
-
inputSchema:
|
|
2959
|
+
inputSchema: product_activation_upload_fileInputValidator,
|
|
3125
2960
|
jsonSchema: product_activation_upload_fileInputJsonSchema,
|
|
3126
2961
|
endpoint: '/product/activation/upload/file',
|
|
3127
2962
|
method: 'POST',
|
|
@@ -3130,12 +2965,9 @@ export const product_activation_upload_fileTool = {
|
|
|
3130
2965
|
handler: async (rawArgs) => {
|
|
3131
2966
|
try {
|
|
3132
2967
|
const normalizedArgs = rawArgs ?? {};
|
|
3133
|
-
|
|
3134
|
-
const secretId = normalizedArgs._secretId;
|
|
3135
|
-
// Remover _secretId de los args antes de validar
|
|
3136
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3137
|
-
const validatedInput = validateToolInput(product_activation_upload_fileInputValidator, argsToValidate);
|
|
2968
|
+
const validatedInput = validateToolInput(product_activation_upload_fileInputValidator, normalizedArgs);
|
|
3138
2969
|
const args = validatedInput;
|
|
2970
|
+
const secretId = args._secretId;
|
|
3139
2971
|
const bodyData = args.body || {};
|
|
3140
2972
|
return await makeApiRequest('POST', '/product/activation/upload/file', undefined, undefined, secretId);
|
|
3141
2973
|
}
|
|
@@ -3186,18 +3018,17 @@ const queryInputJsonSchema = {
|
|
|
3186
3018
|
},
|
|
3187
3019
|
"required": []
|
|
3188
3020
|
};
|
|
3189
|
-
const
|
|
3021
|
+
const queryInputValidator = z.object({
|
|
3190
3022
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3191
3023
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
3192
3024
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
3193
3025
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
3194
|
-
};
|
|
3195
|
-
const queryInputValidator = z.object(queryInputShape);
|
|
3026
|
+
});
|
|
3196
3027
|
// Herramienta: query
|
|
3197
3028
|
export const queryTool = {
|
|
3198
3029
|
name: 'query',
|
|
3199
3030
|
description: "POST /product/query\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3200
|
-
inputSchema:
|
|
3031
|
+
inputSchema: queryInputValidator,
|
|
3201
3032
|
jsonSchema: queryInputJsonSchema,
|
|
3202
3033
|
endpoint: '/product/query',
|
|
3203
3034
|
method: 'POST',
|
|
@@ -3206,12 +3037,9 @@ export const queryTool = {
|
|
|
3206
3037
|
handler: async (rawArgs) => {
|
|
3207
3038
|
try {
|
|
3208
3039
|
const normalizedArgs = rawArgs ?? {};
|
|
3209
|
-
|
|
3210
|
-
const secretId = normalizedArgs._secretId;
|
|
3211
|
-
// Remover _secretId de los args antes de validar
|
|
3212
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3213
|
-
const validatedInput = validateToolInput(queryInputValidator, argsToValidate);
|
|
3040
|
+
const validatedInput = validateToolInput(queryInputValidator, normalizedArgs);
|
|
3214
3041
|
const args = validatedInput;
|
|
3042
|
+
const secretId = args._secretId;
|
|
3215
3043
|
const bodyData = {};
|
|
3216
3044
|
const productIdValue = args.productId !== undefined ? args.productId : 1000075;
|
|
3217
3045
|
if (productIdValue !== undefined)
|
|
@@ -3272,18 +3100,17 @@ const sells_sellInputJsonSchema = {
|
|
|
3272
3100
|
},
|
|
3273
3101
|
"required": []
|
|
3274
3102
|
};
|
|
3275
|
-
const
|
|
3103
|
+
const sells_sellInputValidator = z.object({
|
|
3276
3104
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3277
3105
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
3278
3106
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
3279
3107
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
3280
|
-
};
|
|
3281
|
-
const sells_sellInputValidator = z.object(sells_sellInputShape);
|
|
3108
|
+
});
|
|
3282
3109
|
// Herramienta: sells_sell
|
|
3283
3110
|
export const sells_sellTool = {
|
|
3284
3111
|
name: 'sells_sell',
|
|
3285
3112
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`sellType\\`: String indicating the type of the sell operation (required)\\n \\n- \\`hash\\`: String containing the hash value for the operation (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`reference\\`: String containing the reference number for the payment (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number associated with the payment (required)\\n \\n - \\`hashEchoData\\`: String containing the hash echo data for the operation (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3286
|
-
inputSchema:
|
|
3113
|
+
inputSchema: sells_sellInputValidator,
|
|
3287
3114
|
jsonSchema: sells_sellInputJsonSchema,
|
|
3288
3115
|
endpoint: '/sells/sell',
|
|
3289
3116
|
method: 'POST',
|
|
@@ -3292,12 +3119,9 @@ export const sells_sellTool = {
|
|
|
3292
3119
|
handler: async (rawArgs) => {
|
|
3293
3120
|
try {
|
|
3294
3121
|
const normalizedArgs = rawArgs ?? {};
|
|
3295
|
-
|
|
3296
|
-
const secretId = normalizedArgs._secretId;
|
|
3297
|
-
// Remover _secretId de los args antes de validar
|
|
3298
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3299
|
-
const validatedInput = validateToolInput(sells_sellInputValidator, argsToValidate);
|
|
3122
|
+
const validatedInput = validateToolInput(sells_sellInputValidator, normalizedArgs);
|
|
3300
3123
|
const args = validatedInput;
|
|
3124
|
+
const secretId = args._secretId;
|
|
3301
3125
|
const bodyData = {};
|
|
3302
3126
|
const productIdValue = args.productId !== undefined ? args.productId : 1002657;
|
|
3303
3127
|
if (productIdValue !== undefined)
|
|
@@ -3367,20 +3191,19 @@ const query_axaInputJsonSchema = {
|
|
|
3367
3191
|
},
|
|
3368
3192
|
"required": []
|
|
3369
3193
|
};
|
|
3370
|
-
const
|
|
3194
|
+
const query_axaInputValidator = z.object({
|
|
3371
3195
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
3372
3196
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3373
3197
|
docType: z.string().optional().describe("Campo del body: docType"),
|
|
3374
3198
|
document: z.string().optional().describe("Campo del body: document"),
|
|
3375
3199
|
cellphone: z.string().optional().describe("Campo del body: cellphone"),
|
|
3376
3200
|
license: z.string().optional().describe("Campo del body: license")
|
|
3377
|
-
};
|
|
3378
|
-
const query_axaInputValidator = z.object(query_axaInputShape);
|
|
3201
|
+
});
|
|
3379
3202
|
// Herramienta: query_axa
|
|
3380
3203
|
export const query_axaTool = {
|
|
3381
3204
|
name: 'query_axa',
|
|
3382
3205
|
description: "Here you will find all the endpoints related to the sale of SOAT AXA COLPATRIA.\\n\\n**Note:** This product includes an administrative cost for each sale made. For more information, please contact your commercial agent.\\n\\n**For AXA service testing:** It is required to indicate in the documentation that a test environment must be requested from the commercial agent at least 15 days in advance.\\n\\n## Timeout Configuration\\n\\nThe following timeout values are configured for AXA provider operations:\\n\\n| Operation | Min (seconds) | Max (seconds) | Timeout (seconds) |\\n| --- | --- | --- | --- |\\n| AXA | 0 | 15 | 50 |\\n\\n**Important:** These timeout values should be considered when implementing integrations with AXA COLPATRIA services to ensure proper error handling and user experience.\\n\\n \\`Allows performing a custom query on the platform. Send the request body with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\`\\n\\nBelow is an example of a request for vehicle SOAT insurance. The following necessary data must be provided: productId (in this case, 91), queryType (in this case SOATData), type of document, document number, vehicle plate, and phone number.\\n\\n**Note:**\\n\\nIt is important to remember that in the response of this product, several of its data points are crucial as they must be sent in the service that performs the sale (/sells/sell). The necessary data are as follows: amount, cifrateAmount, and hashEchoData.\\n\\nBelow are the valid document types for the consultation process:\\n\\n- CC: Cédula de ciudadanía\\n \\n- CE: Cédula de extranjería\\n \\n- NIT: Número de identificación tributaria\\n \\n- PS: Pasaporte\\n \\n- RC: Registro civil\\n \\n- TI: Tarjeta de identidad\\n \\n- CD: Carné diplomático\\n \\n\\n### Payload for Custom Query\\n\\nThe following payload is required for performing a custom query:\\n\\n- \\`queryType\\`: (string, required) Specifies the type of query to be performed.\\n \\n- \\`productId\\`: (number, required) Identifies the product for which the query is being made.\\n \\n- \\`docType\\`: (string, required) Specifies the type of document being used for identification.\\n \\n- \\`document\\`: (string, required) The document number for identification purposes.\\n \\n- \\`cellphone\\`: (string, required) The phone number associated with the query.\\n \\n- \\`license\\`: (string, optional) The license plate of the vehicle.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3383
|
-
inputSchema:
|
|
3206
|
+
inputSchema: query_axaInputValidator,
|
|
3384
3207
|
jsonSchema: query_axaInputJsonSchema,
|
|
3385
3208
|
endpoint: '/product/query',
|
|
3386
3209
|
method: 'POST',
|
|
@@ -3389,12 +3212,9 @@ export const query_axaTool = {
|
|
|
3389
3212
|
handler: async (rawArgs) => {
|
|
3390
3213
|
try {
|
|
3391
3214
|
const normalizedArgs = rawArgs ?? {};
|
|
3392
|
-
|
|
3393
|
-
const secretId = normalizedArgs._secretId;
|
|
3394
|
-
// Remover _secretId de los args antes de validar
|
|
3395
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3396
|
-
const validatedInput = validateToolInput(query_axaInputValidator, argsToValidate);
|
|
3215
|
+
const validatedInput = validateToolInput(query_axaInputValidator, normalizedArgs);
|
|
3397
3216
|
const args = validatedInput;
|
|
3217
|
+
const secretId = args._secretId;
|
|
3398
3218
|
const bodyData = {};
|
|
3399
3219
|
const queryTypeValue = args.queryType !== undefined ? args.queryType : "SOATData";
|
|
3400
3220
|
if (queryTypeValue !== undefined)
|
|
@@ -3484,17 +3304,16 @@ const sell_axaInputJsonSchema = {
|
|
|
3484
3304
|
},
|
|
3485
3305
|
"required": []
|
|
3486
3306
|
};
|
|
3487
|
-
const
|
|
3307
|
+
const sell_axaInputValidator = z.object({
|
|
3488
3308
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3489
3309
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
3490
3310
|
amount: z.number().optional().describe("Campo del body: amount")
|
|
3491
|
-
};
|
|
3492
|
-
const sell_axaInputValidator = z.object(sell_axaInputShape);
|
|
3311
|
+
});
|
|
3493
3312
|
// Herramienta: sell_axa
|
|
3494
3313
|
export const sell_axaTool = {
|
|
3495
3314
|
name: 'sell_axa',
|
|
3496
3315
|
description: "Here you will find all the endpoints related to the sale of SOAT AXA COLPATRIA.\\n\\n**Note:** This product includes an administrative cost for each sale made. For more information, please contact your commercial agent.\\n\\n**For AXA service testing:** It is required to indicate in the documentation that a test environment must be requested from the commercial agent at least 15 days in advance.\\n\\n## Timeout Configuration\\n\\nThe following timeout values are configured for AXA provider operations:\\n\\n| Operation | Min (seconds) | Max (seconds) | Timeout (seconds) |\\n| --- | --- | --- | --- |\\n| AXA | 0 | 15 | 50 |\\n\\n**Important:** These timeout values should be considered when implementing integrations with AXA COLPATRIA services to ensure proper error handling and user experience.\\n\\n \\`Allows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\`\\n\\nExample of a payment request for the AXA Colpatria product. The necessary information is provided, such as the productId (in this case, 91) and other relevant data, all attributes are mandatory.\\n\\n**Note:** \\nIn order to sell this product, it is important to bear in mind that it is part of a special product. Therefore, before being able to use it, it is necessary to complete the entire product activation process. This can be achieved by using the following services: \\`/product/activation/....\\` \\nIt is important to remember that to perform a sale using this service, several crucial data points must be sent. Some of these data points are obtained from the \\`/products/query\\` service. The necessary data are as follows: \\`amount\\`, \\`cifrateAmount\\`, and \\`hashEchoData\\`.\\n\\n### Payload for Custom Sell\\n\\nThe following payload is required for performing a custom sell:\\n\\n- \\`productId\\`: (number, required) Identifies the product for which the sale is being made.\\n \\n- \\`data\\`: (object, required) Contains specific sale data.\\n \\n - \\`terminal\\`:\\n \\n - \\`id\\`: A unique identifier for the merchant (POS) that is generating the SOAT sale transaction for the API client. If there is no merchant under the API client\\'s network, the same merchant ID assigned by Refacil should be sent in the \\`id\\` field.\\n \\n - \\`amount\\`: (object, required) Details about the sale amount.\\n \\n - \\`amount\\`: (number, required) Total amount of the sale.\\n \\n - \\`runt\\`: (number) Value for RUNT.\\n \\n - \\`prima\\`: (number) Prima value.\\n \\n - \\`contributions\\`: (number) Contributions.\\n \\n - \\`valueDiscountLaw\\`: (number) Value of law discount.\\n \\n - \\`valueDiscountTotal\\`: (number) Total discount value.\\n \\n - \\`valuePayDiscount\\`: (number) Amount to pay with discount.\\n \\n - \\`amountAdministrative\\`: (number) Administrative amount.\\n \\n - \\`amountTotal\\`: (number) Total amount.\\n \\n - \\`dateStart\\`: (string) Start date.\\n \\n - \\`dateEnd\\`: (string) End date.\\n \\n - \\`discount\\`: (number) Discount.\\n \\n - \\`license\\`: (string) Vehicle license plate.\\n \\n - \\`hashEchoData\\`: (string) Hash data.\\n \\n - \\`cifrateAmount\\`: (object) Encrypted amount.\\n \\n - \\`hash\\`: (string) Hash.\\n \\n - \\`hashEchoData\\`: (string) Hash data.\\n \\n - \\`userDetail\\`: (object, required) User details.\\n \\n - \\`cellphone\\`: (string, required) User\\'s cellphone number.\\n \\n - \\`email\\`: (string) User\\'s email.\\n \\n - \\`document\\`: (string, required) User\\'s document number.\\n \\n - \\`docType\\`: (string, required) Type of user\\'s document.\\n \\n- \\`amount\\`: (number, required) Total amount of the sale.\\n \\n- \\`moveTmpBalance\\`: (boolean) Indicates whether to move temporary balance.\\n \\n\\nAfter the sale has been successfully completed, the response will follow a structure similar to the following. In this response, important information is provided, such as the balance of the main wallet and the balance of the profit wallet. Additionally, within the \\'billData\\' object, you will find the fundamental information necessary to generate the sales receipt that will be delivered to the end customer. It is important to note that this step is mandatory, as it is a direct requirement from AXA Colpatria.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3497
|
-
inputSchema:
|
|
3316
|
+
inputSchema: sell_axaInputValidator,
|
|
3498
3317
|
jsonSchema: sell_axaInputJsonSchema,
|
|
3499
3318
|
endpoint: '/sells/sell',
|
|
3500
3319
|
method: 'POST',
|
|
@@ -3503,12 +3322,9 @@ export const sell_axaTool = {
|
|
|
3503
3322
|
handler: async (rawArgs) => {
|
|
3504
3323
|
try {
|
|
3505
3324
|
const normalizedArgs = rawArgs ?? {};
|
|
3506
|
-
|
|
3507
|
-
const secretId = normalizedArgs._secretId;
|
|
3508
|
-
// Remover _secretId de los args antes de validar
|
|
3509
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3510
|
-
const validatedInput = validateToolInput(sell_axaInputValidator, argsToValidate);
|
|
3325
|
+
const validatedInput = validateToolInput(sell_axaInputValidator, normalizedArgs);
|
|
3511
3326
|
const args = validatedInput;
|
|
3327
|
+
const secretId = args._secretId;
|
|
3512
3328
|
const bodyData = {};
|
|
3513
3329
|
const productIdValue = args.productId !== undefined ? args.productId : 91;
|
|
3514
3330
|
if (productIdValue !== undefined)
|
|
@@ -3572,19 +3388,18 @@ const query_quoteInputJsonSchema = {
|
|
|
3572
3388
|
},
|
|
3573
3389
|
"required": []
|
|
3574
3390
|
};
|
|
3575
|
-
const
|
|
3391
|
+
const query_quoteInputValidator = z.object({
|
|
3576
3392
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3577
3393
|
documentType: z.number().optional().describe("Campo del body: documentType"),
|
|
3578
3394
|
document: z.string().optional().describe("Campo del body: document"),
|
|
3579
3395
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
3580
3396
|
license: z.string().optional().describe("Campo del body: license")
|
|
3581
|
-
};
|
|
3582
|
-
const query_quoteInputValidator = z.object(query_quoteInputShape);
|
|
3397
|
+
});
|
|
3583
3398
|
// Herramienta: query_quote
|
|
3584
3399
|
export const query_quoteTool = {
|
|
3585
3400
|
name: 'query_quote',
|
|
3586
3401
|
description: "Here you will find all the endpoints related to the sale of SOAT PREVISORA.\\n\\n## Timeout Configuration\\n\\nThe following timeout values are configured for PREVISORA provider operations:\\n\\n| Provider | Min (seconds) | Max (seconds) | Timeout (seconds) |\\n| --- | --- | --- | --- |\\n| PREVISORA | 0 | 300 | 300 |\\n\\n**Important:**\\n\\nBased on the current operation of the insurance company **PREVISORA**, the waiting time (timeout) for sales processing has been adjusted to **5 minutes (300 seconds)**. This change addresses the need to ensure that all transactions are processed correctly, even in scenarios where delays may occur.\\n\\nIn addition, the API guarantees up to **2 automatic retries** in case a timeout occurs during processing. Although this behavior is not common in the API solution, it has been implemented to ensure the continuity and success of sales operations.\\n\\nIt is recommended to take this configuration into account when implementing integrations with PREVISORA services, in order to ensure proper error handling and an optimal user experience.\\n\\n## Test Environment\\n\\n### Available Test Scenarios\\n\\nTo test error scenarios and different response types, the following vehicle license plates are available:\\n\\n#### Error Handling\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| All | TIM001 | Timeout | Simulates timeout scenario |\\n| All | ERR400 | System Error | Ocurrió un error inesperado. Consulte con el Administrador del sistema |\\n| All | ERR401 | Authentication Error | No ha sido posible autenticarse, el token es incorrecto o el usuario no se encuentra activo |\\n\\n#### Quote Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Quote | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Quote | ABC124 | Success with Discount | Standard vehicle with discount applied |\\n| Quote | ABC125 | Electric Vehicle | Electric car pricing |\\n| Quote | ABC126 | Law Discount | Legal discount application |\\n| Quote | ABC127 | Transit Authority Error | La placa no está asociada a algún organismo de tránsito |\\n\\n#### Issue Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Issue | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Issue | ABC124 | Success with Discount | Successfully issued with discount |\\n\\n#### Consult Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Consult | ABC123 | Issued | Policy has been issued |\\n| Consult | ABC124 | Not Issued | Policy has not been issued |\\n\\n### Usage Notes\\n\\n- **Test Plates**: Use the provided test plates to simulate different scenarios during development and testing\\n \\n- **Error Simulation**: TIM001 and ERR-prefixed plates are specifically designed to test error handling\\n \\n- **Success Flows**: ABC123 generally represents successful operations across different methods\\n \\n- **Edge Cases**: ABC124-ABC127 cover various business scenarios including discounts and restrictions\\n \\n- There is a complementary file containing additional test scenarios not listed in this documentation. You can access it here: [Additional Test Scenarios Folder](https://refacil01-my.sharepoint.com/:f:/g/personal/w_sarmiento_refacil_com/EnvRlRK92WlHuuBfU6Zyom0BvCFmPG_OzhU-te-6ZQ0jMw)\\n\\n \\`Allows performing a custom query on the platform. Send the request body with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\`\\n\\nThe following is an example of a SOAT insurance request for a vehicle. The following required data must be provided: productId (in this case, 1014006), queryType (in this case SOATFullData), document number and vehicle registration number.\\n\\n**Note:**\\n\\nIt is important to remember that in the response of this product, several of its data points are crucial as they must be sent in the service that performs the sale (/sells/sell). The necessary data are as follows: amount, vehDetail, and userDetail.\\n\\n### Payload for Custom Query\\n\\nThe following payload is required for performing a custom query:\\n\\n- \\`productId\\`: (number, required) Identifies the product for which the query is being made.\\n\\n- \\`documentType\\`: (number, required) Specifies the type of document. Allowed values:\\n \\n - \\`1\\`: CEDULA DE CIUDADANIA\\n - \\`2\\`: CEDULA DE EXTRANJERIA\\n - \\`3\\`: NIT\\n - \\`4\\`: TARJETA DE IDENTIDAD\\n \\n- \\`document\\`: (string, required) The document number for identification purposes.\\n \\n Length validation rules based on \\`documentType\\`:\\n \\n - **For \\`documentType = 1\\` (CEDULA DE CIUDADANIA)**:\\n - Minimum length: 7 numeric characters\\n - Maximum length: 10 numeric characters\\n \\n - **For \\`documentType = 2\\` (CEDULA DE EXTRANJERIA)**:\\n - Minimum length: 5 characters (alphanumeric allowed)\\n - Maximum length: 15 characters (alphanumeric allowed)\\n \\n - **For \\`documentType = 3\\` (NIT)**:\\n - Minimum length: 6 numeric characters (includes verification digit – VD)\\n - Maximum length: 11 numeric characters (includes VD)\\n - Must be sent **without hyphen (-)** and must include the verification digit.\\n \\n Additional rules based on length:\\n - If length is 11, must start with \\\"1\\\" → (new CC + VD)\\n - If length is 10, must start with \\\"8\\\" or \\\"9\\\" → (NIT + VD)\\n - If length is 9 or less, can start with any digit → (old CC + VD)\\n \\n 💡 **VD (Verification Digit)**: A verification digit is a number mathematically calculated by DIAN (Dirección de Impuestos y Aduanas Nacionales) to validate that the NIT was entered correctly. It is included as part of the document number.\\n \\n - **For \\`documentType = 4\\` (TARJETA DE IDENTIDAD)**:\\n - Minimum length: 10 numeric characters\\n - Maximum length: 11 numeric characters\\n \\n \\n- \\`queryType\\`: (string, required) Specifies the type of query to be performed.\\n \\n- \\`license\\`: (string, required) The license plate of the vehicle.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3587
|
-
inputSchema:
|
|
3402
|
+
inputSchema: query_quoteInputValidator,
|
|
3588
3403
|
jsonSchema: query_quoteInputJsonSchema,
|
|
3589
3404
|
endpoint: '/product/query',
|
|
3590
3405
|
method: 'POST',
|
|
@@ -3593,12 +3408,9 @@ export const query_quoteTool = {
|
|
|
3593
3408
|
handler: async (rawArgs) => {
|
|
3594
3409
|
try {
|
|
3595
3410
|
const normalizedArgs = rawArgs ?? {};
|
|
3596
|
-
|
|
3597
|
-
const secretId = normalizedArgs._secretId;
|
|
3598
|
-
// Remover _secretId de los args antes de validar
|
|
3599
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3600
|
-
const validatedInput = validateToolInput(query_quoteInputValidator, argsToValidate);
|
|
3411
|
+
const validatedInput = validateToolInput(query_quoteInputValidator, normalizedArgs);
|
|
3601
3412
|
const args = validatedInput;
|
|
3413
|
+
const secretId = args._secretId;
|
|
3602
3414
|
const bodyData = {};
|
|
3603
3415
|
const productIdValue = args.productId !== undefined ? args.productId : 1014006;
|
|
3604
3416
|
if (productIdValue !== undefined)
|
|
@@ -3658,17 +3470,16 @@ const query_consultInputJsonSchema = {
|
|
|
3658
3470
|
},
|
|
3659
3471
|
"required": []
|
|
3660
3472
|
};
|
|
3661
|
-
const
|
|
3473
|
+
const query_consultInputValidator = z.object({
|
|
3662
3474
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3663
3475
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
3664
3476
|
license: z.string().optional().describe("Campo del body: license")
|
|
3665
|
-
};
|
|
3666
|
-
const query_consultInputValidator = z.object(query_consultInputShape);
|
|
3477
|
+
});
|
|
3667
3478
|
// Herramienta: query_consult
|
|
3668
3479
|
export const query_consultTool = {
|
|
3669
3480
|
name: 'query_consult',
|
|
3670
3481
|
description: "Here you will find all the endpoints related to the sale of SOAT PREVISORA.\\n\\n## Timeout Configuration\\n\\nThe following timeout values are configured for PREVISORA provider operations:\\n\\n| Provider | Min (seconds) | Max (seconds) | Timeout (seconds) |\\n| --- | --- | --- | --- |\\n| PREVISORA | 0 | 300 | 300 |\\n\\n**Important:**\\n\\nBased on the current operation of the insurance company **PREVISORA**, the waiting time (timeout) for sales processing has been adjusted to **5 minutes (300 seconds)**. This change addresses the need to ensure that all transactions are processed correctly, even in scenarios where delays may occur.\\n\\nIn addition, the API guarantees up to **2 automatic retries** in case a timeout occurs during processing. Although this behavior is not common in the API solution, it has been implemented to ensure the continuity and success of sales operations.\\n\\nIt is recommended to take this configuration into account when implementing integrations with PREVISORA services, in order to ensure proper error handling and an optimal user experience.\\n\\n## Test Environment\\n\\n### Available Test Scenarios\\n\\nTo test error scenarios and different response types, the following vehicle license plates are available:\\n\\n#### Error Handling\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| All | TIM001 | Timeout | Simulates timeout scenario |\\n| All | ERR400 | System Error | Ocurrió un error inesperado. Consulte con el Administrador del sistema |\\n| All | ERR401 | Authentication Error | No ha sido posible autenticarse, el token es incorrecto o el usuario no se encuentra activo |\\n\\n#### Quote Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Quote | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Quote | ABC124 | Success with Discount | Standard vehicle with discount applied |\\n| Quote | ABC125 | Electric Vehicle | Electric car pricing |\\n| Quote | ABC126 | Law Discount | Legal discount application |\\n| Quote | ABC127 | Transit Authority Error | La placa no está asociada a algún organismo de tránsito |\\n\\n#### Issue Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Issue | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Issue | ABC124 | Success with Discount | Successfully issued with discount |\\n\\n#### Consult Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Consult | ABC123 | Issued | Policy has been issued |\\n| Consult | ABC124 | Not Issued | Policy has not been issued |\\n\\n### Usage Notes\\n\\n- **Test Plates**: Use the provided test plates to simulate different scenarios during development and testing\\n \\n- **Error Simulation**: TIM001 and ERR-prefixed plates are specifically designed to test error handling\\n \\n- **Success Flows**: ABC123 generally represents successful operations across different methods\\n \\n- **Edge Cases**: ABC124-ABC127 cover various business scenarios including discounts and restrictions\\n \\n- There is a complementary file containing additional test scenarios not listed in this documentation. You can access it here: [Additional Test Scenarios Folder](https://refacil01-my.sharepoint.com/:f:/g/personal/w_sarmiento_refacil_com/EnvRlRK92WlHuuBfU6Zyom0BvCFmPG_OzhU-te-6ZQ0jMw)\\n\\n \\`Returns the information of the last policy issued for the license plate. If the policy is queried on days after its issuance, the service will not return the requested information. It is important to clarify that this endpoint does not retrieve failed sales in the system.\\`\\n\\n### Payload for Consult Query\\n\\nThe following payload is required for performing a custom query:\\n\\n- \\`productId\\`: (number, required) Identifies the product for which the query is being made.\\n \\n- \\`queryType\\`: (string, required) Specifies the type of query to be performed, in this case have to be \\\\\\`SOATPolicy\\\\\\`.\\n \\n- \\`license\\`: (string, required) The license plate of the vehicle.\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3671
|
-
inputSchema:
|
|
3482
|
+
inputSchema: query_consultInputValidator,
|
|
3672
3483
|
jsonSchema: query_consultInputJsonSchema,
|
|
3673
3484
|
endpoint: '/product/query',
|
|
3674
3485
|
method: 'POST',
|
|
@@ -3677,12 +3488,9 @@ export const query_consultTool = {
|
|
|
3677
3488
|
handler: async (rawArgs) => {
|
|
3678
3489
|
try {
|
|
3679
3490
|
const normalizedArgs = rawArgs ?? {};
|
|
3680
|
-
|
|
3681
|
-
const secretId = normalizedArgs._secretId;
|
|
3682
|
-
// Remover _secretId de los args antes de validar
|
|
3683
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3684
|
-
const validatedInput = validateToolInput(query_consultInputValidator, argsToValidate);
|
|
3491
|
+
const validatedInput = validateToolInput(query_consultInputValidator, normalizedArgs);
|
|
3685
3492
|
const args = validatedInput;
|
|
3493
|
+
const secretId = args._secretId;
|
|
3686
3494
|
const bodyData = {};
|
|
3687
3495
|
const productIdValue = args.productId !== undefined ? args.productId : 1014006;
|
|
3688
3496
|
if (productIdValue !== undefined)
|
|
@@ -3817,17 +3625,16 @@ const sell_previsoraInputJsonSchema = {
|
|
|
3817
3625
|
},
|
|
3818
3626
|
"required": []
|
|
3819
3627
|
};
|
|
3820
|
-
const
|
|
3628
|
+
const sell_previsoraInputValidator = z.object({
|
|
3821
3629
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3822
3630
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
3823
3631
|
amount: z.number().optional().describe("Campo del body: amount")
|
|
3824
|
-
};
|
|
3825
|
-
const sell_previsoraInputValidator = z.object(sell_previsoraInputShape);
|
|
3632
|
+
});
|
|
3826
3633
|
// Herramienta: sell_previsora
|
|
3827
3634
|
export const sell_previsoraTool = {
|
|
3828
3635
|
name: 'sell_previsora',
|
|
3829
3636
|
description: "Here you will find all the endpoints related to the sale of SOAT PREVISORA.\\n\\n## Timeout Configuration\\n\\nThe following timeout values are configured for PREVISORA provider operations:\\n\\n| Provider | Min (seconds) | Max (seconds) | Timeout (seconds) |\\n| --- | --- | --- | --- |\\n| PREVISORA | 0 | 300 | 300 |\\n\\n**Important:**\\n\\nBased on the current operation of the insurance company **PREVISORA**, the waiting time (timeout) for sales processing has been adjusted to **5 minutes (300 seconds)**. This change addresses the need to ensure that all transactions are processed correctly, even in scenarios where delays may occur.\\n\\nIn addition, the API guarantees up to **2 automatic retries** in case a timeout occurs during processing. Although this behavior is not common in the API solution, it has been implemented to ensure the continuity and success of sales operations.\\n\\nIt is recommended to take this configuration into account when implementing integrations with PREVISORA services, in order to ensure proper error handling and an optimal user experience.\\n\\n## Test Environment\\n\\n### Available Test Scenarios\\n\\nTo test error scenarios and different response types, the following vehicle license plates are available:\\n\\n#### Error Handling\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| All | TIM001 | Timeout | Simulates timeout scenario |\\n| All | ERR400 | System Error | Ocurrió un error inesperado. Consulte con el Administrador del sistema |\\n| All | ERR401 | Authentication Error | No ha sido posible autenticarse, el token es incorrecto o el usuario no se encuentra activo |\\n\\n#### Quote Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Quote | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Quote | ABC124 | Success with Discount | Standard vehicle with discount applied |\\n| Quote | ABC125 | Electric Vehicle | Electric car pricing |\\n| Quote | ABC126 | Law Discount | Legal discount application |\\n| Quote | ABC127 | Transit Authority Error | La placa no está asociada a algún organismo de tránsito |\\n\\n#### Issue Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Issue | ABC123 | Success Standard | Success: Vehículo, camioneta, bus |\\n| Issue | ABC124 | Success with Discount | Successfully issued with discount |\\n\\n#### Consult Operations\\n\\n| Method | Plate | Scenario | Description |\\n| --- | --- | --- | --- |\\n| Consult | ABC123 | Issued | Policy has been issued |\\n| Consult | ABC124 | Not Issued | Policy has not been issued |\\n\\n### Usage Notes\\n\\n- **Test Plates**: Use the provided test plates to simulate different scenarios during development and testing\\n \\n- **Error Simulation**: TIM001 and ERR-prefixed plates are specifically designed to test error handling\\n \\n- **Success Flows**: ABC123 generally represents successful operations across different methods\\n \\n- **Edge Cases**: ABC124-ABC127 cover various business scenarios including discounts and restrictions\\n \\n- There is a complementary file containing additional test scenarios not listed in this documentation. You can access it here: [Additional Test Scenarios Folder](https://refacil01-my.sharepoint.com/:f:/g/personal/w_sarmiento_refacil_com/EnvRlRK92WlHuuBfU6Zyom0BvCFmPG_OzhU-te-6ZQ0jMw)\\n\\n \\`Allows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\`\\n\\n**Product restrictions**\\n\\n- Allows selling SOAT in the name of a person who is not the owner of the vehicle.\\n \\n- SOAT can be sold for a PRIVATE CAR.\\n \\n- SOAT can be sold for a PRIVATE MOTORCYCLE.\\n \\n- SOAT can be sold for a PUBLIC SERVICE VEHICLE.\\n \\n- SOAT cannot be sold to vehicles with 0 KM.\\n \\n- Sales hours are from 12:30 AM to 11:30 PM.\\n \\n- SOAT can be sold up to 30 days before its expiration.\\n \\n- The definition of the Administrative Cost and Commission for the sale of SOAT can be validated with your Refacil Commercial Advisor.\\n \\n- The insurance companies are directly responsible for sending the issued SOAT via email. The API provides a URL from the provider for downloading the SOAT.\\n \\n\\nExample of a payment request for the Previsora product. The necessary information is provided, such as the productId (in this case, 1014006) and other relevant data, all attributes are mandatory.\\n\\n**Note:**\\n\\nIt is important to remember that to perform a sale using this service, several crucial data points must be sent. Some of these data points are obtained from the \\`/products/query\\` Quote Service. The necessary data are as follows: \\`amount\\`, \\`vehDetail\\`, and \\`userDetail\\`.\\n\\nSome data obtained from the /products/query service may be null; however, this data is mandatory for the sale process and must be filled in.\\n\\nIn addition to the \\`userDetail\\` object, three additional attributes must be sent: \\`gender\\`, \\`RegimenTypeId\\`, and \\`RutId\\`.\\n\\nThe possible values for each of the aforementioned attributes are as follows:\\n\\n- \\`gender\\`:\\n \\n - M = Male\\n \\n - F = Female\\n \\n- \\`RegimenTypeId\\`:\\n \\n - 1 = Responsible for IVA\\n \\n - 2 = Not responsible for IVA\\n \\n- \\`RutId\\`:\\n \\n - 1 = Large taxpayer\\n \\n - 2 = Self-withholding agent\\n \\n - 3 = IVA withholding agent\\n \\n - 4 = Simple taxation regime\\n \\n - 5 = Not applicable\\n \\n - 6 = Large taxpayer-Self-withholding agent-IVA withholding agent\\n \\n - 7 = Self-withholding agent-IVA withholding agent\\n \\n - 8 = Large taxpayer-IVA withholding agent\\n \\n- \\`cityCode\\`: DANE code\\n \\n- \\`stateCode\\`: This field is populated based on the **state** sheet [here.](https://refacil01-my.sharepoint.com/:f:/g/personal/w_sarmiento_refacil_com/EnvRlRK92WlHuuBfU6Zyom0BvCFmPG_OzhU-te-6ZQ0jMw)\\n \\n- To check the values for the other parameters, please refer [here.](https://refacil01-my.sharepoint.com/:f:/g/personal/w_sarmiento_refacil_com/EnvRlRK92WlHuuBfU6Zyom0BvCFmPG_OzhU-te-6ZQ0jMw)\\n \\n\\n## Field Validations\\n\\n### **Name and Last Name Format Requirements**\\n\\nThe validation rules for the \\`name\\` and \\`lastName\\` fields in the \\`userDetail\\` object depend on the person type:\\n\\n**For Natural Persons (Personas Naturales):**\\n\\n- Must contain only letters (uppercase and lowercase)\\n \\n- Allows letters with accents: \\`á, é, í, ó, ú, Á, É, Í, Ó, Ú\\`\\n \\n- Allows Spanish special characters: \\`ñ, Ñ, ü, Ü\\`\\n \\n- Allows spaces between words (for compound names)\\n \\n- Minimum length of 3 characters\\n \\n- Does not allow numbers\\n \\n- Does not allow special characters such as \\`@\\`, \\`#\\`\\n \\n\\n**For Legal Entities (Personas Jurídicas):**\\n\\n- Allows alphanumeric characters (letters and numbers)\\n \\n- Allows letters with accents: \\`á, é, í, ó, ú, Á, É, Í, Ó, Ú\\`\\n \\n- Allows Spanish special characters: \\`ñ, Ñ, ü, Ü\\`\\n \\n- Allows spaces between words\\n \\n- Minimum length of 3 characters\\n \\n- Does not allow special characters such as \\`@\\`, \\`#\\`\\n \\n\\n### Email Format Requirements\\n\\nThe \\`email\\` field must comply with strict validation rules to prevent errors during the issuance process:\\n\\n- Must contain only letters and numbers (no accents or special characters like á, é, etc.)\\n \\n- Allows only single separators: \\`.\\` (period), \\`_\\` (underscore), \\`-\\` (hyphen)\\n \\n- Cannot have consecutive separators (e.g., \\`..\\` or \\`--\\`)\\n \\n- Cannot start or end with separators\\n \\n- Domain must have at least 2 characters in the top-level domain (TLD)\\n \\n- Must not contain spaces or the \\`@\\` symbol except as the domain separator\\n \\n\\n**Valid examples:**\\n\\n- \\`usuario@gmail.com\\`\\n \\n- \\`nombre.apellido@empresa.co\\`\\n \\n- \\`user_name@dominio.com\\`\\n \\n- \\`user-123@test.com.co\\`\\n \\n\\n**Invalid examples:**\\n\\n- \\`usuario.@gmail.com\\` (separator at the end before @)\\n \\n- \\`user..name@domain.com\\` (consecutive separators)\\n \\n- \\`@domain.com\\` (missing local part)\\n \\n- \\`usuarioá@gmail.com\\` (contains accented characters)\\n \\n- \\`campohernández@gmail.com\\` (contains special characters with encoding issues)\\n \\n- \\`johndoe@---gmail.com\\` (multiple consecutive hyphens)\\n \\n\\n### Address Format Requirements\\n\\nThe \\`address\\` field must comply with the following validation rules:\\n\\n### Validation Rules\\n\\n1. **Cannot start with numeric characters** - The first character after trimming cannot be a digit (0-9)\\n2. **First character must be**:\\n - A letter (uppercase or lowercase): \\`A-Z\\`, \\`a-z\\`\\n - A vowel with Spanish acute accent: \\`á\\`, \\`é\\`, \\`í\\`, \\`ó\\`, \\`ú\\`, \\`Á\\`, \\`É\\`, \\`Í\\`, \\`Ó\\`, \\`Ú\\`\\n - The letter ñ/Ñ\\n - The letter ü/Ü (with diaeresis)\\n - A whitespace character (space, tab, etc.) — though after \\`trim()\\`, this is effectively not possible at the start\\n3. **Subsequent characters (position 2 onwards) can be**:\\n - All characters allowed for the first position, plus:\\n - Digits: \\`0-9\\`\\n - Special address characters: \\`#\\`, \\`-\\`, \\`.\\`, \\`,\\`\\n\\n### Allowed Characters Summary\\n\\n| Category | Characters |\\n| --- | --- |\\n| Letters (no accent) | \\`A-Z\\`, \\`a-z\\` |\\n| Accented vowels | \\`á\\`, \\`é\\`, \\`í\\`, \\`ó\\`, \\`ú\\`, \\`Á\\`, \\`É\\`, \\`Í\\`, \\`Ó\\`, \\`Ú\\` |\\n| Special Spanish letters | \\`ñ\\`, \\`Ñ\\`, \\`ü\\`, \\`Ü\\` |\\n| Digits (not at start) | \\`0-9\\` |\\n| Whitespace | Space, tab, etc. |\\n| Address symbols | \\`#\\`, \\`-\\`, \\`.\\`, \\`,\\` |\\n\\n### NOT Allowed Characters\\n\\n| Category | Examples |\\n| --- | --- |\\n| Other punctuation | \\`; : ! ? ¡ ¿ \\\" \\' ( ) [ ] { }\\` |\\n| Mathematical/monetary | \\`+ * / % = < > ^ ~ € $ @ &\\` |\\n| Underscore and separators | \\`_ | \\\\\\` |\\n| Other accented letters | \\`ç\\`, \\`ã\\`, \\`õ\\`, \\`ô\\`, \\`ä\\`, \\`ö\\`, \\`ê\\`, \\`â\\`, \\`î\\`, \\`û\\` |\\n| Non-Latin alphabets | Cyrillic, Greek, Arabic, Chinese, etc. |\\n| Emojis | 🙂 😁 🏠 |\\n\\n### Valid Examples\\n\\n- \\`Calle 123 #45-67\\`\\n- \\`Carrera 7 Bis #8-24\\`\\n- \\`Avenida Principal, Casa 5\\`\\n- \\`Avenida Pérez Galdós\\`\\n- \\`Av. Simón Bolívar 123\\`\\n- \\`Cl 10 Sur #45-20\\`\\n- \\`Urbanización La Ñora, Bloque 3\\`\\n\\n### Invalid Examples\\n\\n| Address | Reason |\\n| --- | --- |\\n| \\`123 Calle Principal\\` | Starts with a number |\\n| \\`Calle @Principal\\` | Contains \\`@\\` (not allowed) |\\n| \\`Dirección <>\\` | Contains angle brackets |\\n| \\`Calle_45 #12-34\\` | Contains underscore \\`_\\` |\\n| \\`Calle 5 #12-34!\\` | Contains exclamation mark \\`!\\` |\\n| \\`Rua São Paulo 10\\` | Contains \\`ã\\` (not in allowed accents) |\\n| \\`Avenida (Frente al parque)\\` | Contains parentheses \\`()\\` |\\n \\n\\n### Payload for Custom Sell\\n\\nThe following payload is required for performing a custom sell:\\n\\n> **Note:** According to the provider\\'s official documentation, the \\`name\\` and \\`lastName\\` fields are mandatory. \\n \\n\\n- \\`productId\\`: (number, required) Identifies the product for which the sale is being made.\\n \\n- \\`data\\`: (object, required) Contains specific sale data.\\n \\n - \\`license\\`: (string, required) License plate of the vehicle.\\n \\n - \\`productId\\`: (string, required) Product identification (empty in this example).\\n \\n - \\`cellphone\\`: (string, required) User\\'s cellphone number.\\n \\n - \\`document\\`: (string, required) User\\'s document number. For NIT, this field must include the verification digit and must be sent **without hyphen (-)**.\\n \\n - \\`terminal\\`:\\n \\n - \\`id\\`: A unique identifier for the merchant (POS) that is generating the SOAT sale transaction for the API client. If there is no merchant under the API client\\'s network, the same merchant ID assigned by Refacil should be sent in the \\`id\\` field.\\n \\n - \\`amount\\`: (object, required) Details about the sale amount.\\n \\n - \\`TariffCode\\`: (string, required) Tariff code.\\n \\n - \\`InsurancePremium\\`: (number, required) Insurance premium.\\n \\n - \\`InsuranceTax\\`: (number, required) Insurance tax.\\n \\n - \\`InsuranceFine\\`: (number, required) Insurance fine.\\n \\n - \\`Total\\`: (number, required) Total.\\n \\n - \\`TotalWithDiscountAmount\\`: (number, required) Total with discount amount.\\n \\n - \\`DiscountAmount\\`: (number, required) Discount amount.\\n \\n - \\`ElectricDiscount\\`: (numbe, requiredr) Electric discount.\\n \\n - \\`PercentageElectricDiscount\\`: (number, required) Percentage electric discount.\\n \\n - \\`InsurancePremiumFormatted\\`: (string, required) Formatted insurance premium.\\n \\n - \\`InsuranceTaxFormatted\\`: (string, required) Formatted insurance tax.\\n \\n - \\`InsuranceFineFormatted\\`: (string, required) Formatted insurance fine.\\n \\n - \\`TotalFormatted\\`: (string, required) Formatted total.\\n \\n - \\`DiscountAmountFormatted\\`: (string, required) Formatted discount amount.\\n \\n - \\`TotalWithDiscountAmountFormatted\\`: (string, required) Formatted total with discount amount.\\n \\n - \\`createdAt\\`: (string, required) Creation date.\\n \\n - \\`dateStart\\`: (string, required) Start date.\\n \\n - \\`dateEnd\\`: (string, required) End date.\\n \\n - \\`amount\\`: (number, required) Amount.\\n \\n - \\`amountDiscount\\`: (number, required) Discount amount.\\n \\n - \\`amountOthers\\`: (number, required) Other amounts.\\n \\n - \\`amountTotal\\`: (number, required) Total amount.\\n \\n - \\`hash\\`: (string, required) Hash.\\n \\n - \\`runt\\`: (number, required) Value for RUNT.\\n \\n - \\`codeFasecolda\\`: (number, required) Fasecolda code.\\n \\n - \\`typeCost\\`: (number, required) Cost type.\\n \\n - \\`Law2161Discount\\`: (number, required) Law 2161 discount.\\n \\n - \\`discount\\`: (number, required) Discount.\\n \\n - \\`vehDetail\\`: (object) Vehicle details.\\n \\n - \\`vehicleLineId\\`: (number, required) Vehicle line ID.\\n \\n - \\`vehicleClassId\\`: (number, required) Vehicle class ID.\\n \\n - \\`vehicleClassMinistryId\\`: (number, required) Vehicle class ID (Ministry).\\n \\n - \\`serviceTypeId\\`: (number, required) Service type ID.\\n \\n - \\`vehicleBodyTypeId\\`: (number, required) Vehicle body type ID.\\n \\n - \\`vehicleDescription\\`: (string, required) Vehicle description.\\n \\n - \\`vehDescription\\`: (string, required) Vehicle description.\\n \\n - \\`queryId\\`: (string, required) Query ID.\\n \\n - \\`noSerie\\`: (string, required) Serial number.\\n \\n - \\`noMotor\\`: (string, required) Motor number. If this field is empty, it must be filled with the value from the VIN field.\\n \\n - \\`noChasis\\`: (string, required) Chassis number.\\n \\n - \\`cc\\`: (number, required) Cubic centimeters.\\n \\n - \\`type\\`: (string, required) Type.\\n \\n - \\`gas\\`: (string, required) Gas.\\n \\n - \\`year\\`: (number, required) Year.\\n \\n - \\`passengers\\`: (number, required) Passengers.\\n \\n - \\`brand\\`: (string, required) Brand.\\n \\n - \\`brandId\\`: (number, required) Brand ID.\\n \\n - \\`vin\\`: (string, required) Vehicle identification number (VIN).\\n \\n - \\`lineCode\\`: (string, required) Line code.\\n \\n - \\`service\\`: (string, required) Service.\\n \\n - \\`zone\\`: (string, required) Zone.\\n \\n - \\`weight\\`: (number, required) Weight.\\n \\n - \\`cityId\\`: (number, required) City ID.\\n \\n - \\`userDetail\\`: (object, required) User details.\\n \\n - \\`name\\`: (string) User\\'s name.\\n \\n - Must have at least **3 characters** and cannot contain special characters.\\n \\n - No maximum length is configured.\\n \\n - \\`lastName\\`: (string, required) User\\'s last name.\\n \\n - Must have at least **3 characters** and cannot contain special characters.\\n \\n - No maximum length is configured.\\n \\n - \\`docNumber\\`: (string, required) User\\'s document number.\\n \\n - \\`cellphone\\`: (string) User\\'s cellphone number. Must be a valid Colombian cellphone number starting with \\\"3\\\" followed by exactly 9 digits (e.g., \\\"3001234567\\\").\\n \\n - \\`email\\`: (string, required) User\\'s email. Must be a valid email address format (e.g., \\\"[user@domain.com](https://mailto:user@domain.com)\\\").\\n \\n - \\`phone\\`: (string) User\\'s phone.\\n \\n - \\`docType\\`: (number, required) User\\'s document type.\\n \\n - \\`address\\`: (string, required) User\\'s address.\\n \\n - \\`cityCode\\`: (integer, required) User\\'s city code.\\n \\n - \\`stateCode\\`: (integer, required) User\\'s state code.\\n \\n - \\`addressType\\`: (number, required) User\\'s address type.\\n \\n - \\`typePerson\\`: (string) Type of person (e.g., \\'F\\' for natural person, \\'J\\' for legal person).\\n \\n - \\`gender\\`: (string) User\\'s gender.\\n \\n - \\`RegimenTypeId\\`: (string, required) User\\'s regime type ID.\\n \\n - \\`RutId\\`: (number, required) User\\'s RUT ID.\\n \\n- \\`amount\\`: (number, required) Total amount of the sale.\\n \\n- \\`moveTmpBalance\\`: (boolean) Indicates whether to move temporary balance.\\n \\n\\n\\`Note\\`: If the VIN data is not available, the API will use the chassis number as a replacement.\\n\\nAfter the sale has been successfully completed, the response will follow a structure similar to the following. **This response will be returned within a timeout of 120,000 milliseconds (2 minutes).** In this response, important information is provided, such as the balance of the main wallet and the balance of the profit wallet. Additionally, within the \\'billData\\' object, you will find the fundamental information necessary to generate the sales receipt that will be delivered to the end customer.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3830
|
-
inputSchema:
|
|
3637
|
+
inputSchema: sell_previsoraInputValidator,
|
|
3831
3638
|
jsonSchema: sell_previsoraInputJsonSchema,
|
|
3832
3639
|
endpoint: '/sells/sell',
|
|
3833
3640
|
method: 'POST',
|
|
@@ -3836,12 +3643,9 @@ export const sell_previsoraTool = {
|
|
|
3836
3643
|
handler: async (rawArgs) => {
|
|
3837
3644
|
try {
|
|
3838
3645
|
const normalizedArgs = rawArgs ?? {};
|
|
3839
|
-
|
|
3840
|
-
const secretId = normalizedArgs._secretId;
|
|
3841
|
-
// Remover _secretId de los args antes de validar
|
|
3842
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3843
|
-
const validatedInput = validateToolInput(sell_previsoraInputValidator, argsToValidate);
|
|
3646
|
+
const validatedInput = validateToolInput(sell_previsoraInputValidator, normalizedArgs);
|
|
3844
3647
|
const args = validatedInput;
|
|
3648
|
+
const secretId = args._secretId;
|
|
3845
3649
|
const bodyData = {};
|
|
3846
3650
|
const productIdValue = args.productId !== undefined ? args.productId : 1014006;
|
|
3847
3651
|
if (productIdValue !== undefined)
|
|
@@ -3898,17 +3702,16 @@ const sell_luck_and_chance_rushbetInputJsonSchema = {
|
|
|
3898
3702
|
},
|
|
3899
3703
|
"required": []
|
|
3900
3704
|
};
|
|
3901
|
-
const
|
|
3705
|
+
const sell_luck_and_chance_rushbetInputValidator = z.object({
|
|
3902
3706
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3903
3707
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
3904
3708
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
3905
|
-
};
|
|
3906
|
-
const sell_luck_and_chance_rushbetInputValidator = z.object(sell_luck_and_chance_rushbetInputShape);
|
|
3709
|
+
});
|
|
3907
3710
|
// Herramienta: sell_luck_and_chance_rushbet
|
|
3908
3711
|
export const sell_luck_and_chance_rushbetTool = {
|
|
3909
3712
|
name: 'sell_luck_and_chance_rushbet',
|
|
3910
3713
|
description: "Allows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3911
|
-
inputSchema:
|
|
3714
|
+
inputSchema: sell_luck_and_chance_rushbetInputValidator,
|
|
3912
3715
|
jsonSchema: sell_luck_and_chance_rushbetInputJsonSchema,
|
|
3913
3716
|
endpoint: '/sells/sell',
|
|
3914
3717
|
method: 'POST',
|
|
@@ -3917,12 +3720,9 @@ export const sell_luck_and_chance_rushbetTool = {
|
|
|
3917
3720
|
handler: async (rawArgs) => {
|
|
3918
3721
|
try {
|
|
3919
3722
|
const normalizedArgs = rawArgs ?? {};
|
|
3920
|
-
|
|
3921
|
-
const secretId = normalizedArgs._secretId;
|
|
3922
|
-
// Remover _secretId de los args antes de validar
|
|
3923
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3924
|
-
const validatedInput = validateToolInput(sell_luck_and_chance_rushbetInputValidator, argsToValidate);
|
|
3723
|
+
const validatedInput = validateToolInput(sell_luck_and_chance_rushbetInputValidator, normalizedArgs);
|
|
3925
3724
|
const args = validatedInput;
|
|
3725
|
+
const secretId = args._secretId;
|
|
3926
3726
|
const bodyData = {};
|
|
3927
3727
|
const productIdValue = args.productId !== undefined ? args.productId : 603;
|
|
3928
3728
|
if (productIdValue !== undefined)
|
|
@@ -3973,16 +3773,15 @@ const sell_packages_movistarInputJsonSchema = {
|
|
|
3973
3773
|
},
|
|
3974
3774
|
"required": []
|
|
3975
3775
|
};
|
|
3976
|
-
const
|
|
3776
|
+
const sell_packages_movistarInputValidator = z.object({
|
|
3977
3777
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
3978
3778
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
3979
|
-
};
|
|
3980
|
-
const sell_packages_movistarInputValidator = z.object(sell_packages_movistarInputShape);
|
|
3779
|
+
});
|
|
3981
3780
|
// Herramienta: sell_packages_movistar
|
|
3982
3781
|
export const sell_packages_movistarTool = {
|
|
3983
3782
|
name: 'sell_packages_movistar',
|
|
3984
3783
|
description: "Allows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
3985
|
-
inputSchema:
|
|
3784
|
+
inputSchema: sell_packages_movistarInputValidator,
|
|
3986
3785
|
jsonSchema: sell_packages_movistarInputJsonSchema,
|
|
3987
3786
|
endpoint: '/sells/sell',
|
|
3988
3787
|
method: 'POST',
|
|
@@ -3991,12 +3790,9 @@ export const sell_packages_movistarTool = {
|
|
|
3991
3790
|
handler: async (rawArgs) => {
|
|
3992
3791
|
try {
|
|
3993
3792
|
const normalizedArgs = rawArgs ?? {};
|
|
3994
|
-
|
|
3995
|
-
const secretId = normalizedArgs._secretId;
|
|
3996
|
-
// Remover _secretId de los args antes de validar
|
|
3997
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
3998
|
-
const validatedInput = validateToolInput(sell_packages_movistarInputValidator, argsToValidate);
|
|
3793
|
+
const validatedInput = validateToolInput(sell_packages_movistarInputValidator, normalizedArgs);
|
|
3999
3794
|
const args = validatedInput;
|
|
3795
|
+
const secretId = args._secretId;
|
|
4000
3796
|
const bodyData = {};
|
|
4001
3797
|
const productIdValue = args.productId !== undefined ? args.productId : 200034;
|
|
4002
3798
|
if (productIdValue !== undefined)
|
|
@@ -4054,18 +3850,17 @@ const sellInputJsonSchema = {
|
|
|
4054
3850
|
},
|
|
4055
3851
|
"required": []
|
|
4056
3852
|
};
|
|
4057
|
-
const
|
|
3853
|
+
const sellInputValidator = z.object({
|
|
4058
3854
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4059
3855
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4060
3856
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
4061
3857
|
_preventDuplicate: z.boolean().optional().describe("Campo del body: _preventDuplicate")
|
|
4062
|
-
};
|
|
4063
|
-
const sellInputValidator = z.object(sellInputShape);
|
|
3858
|
+
});
|
|
4064
3859
|
// Herramienta: sell
|
|
4065
3860
|
export const sellTool = {
|
|
4066
3861
|
name: 'sell',
|
|
4067
3862
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n- \\`_preventDuplicate\\`: Boolean to disable duplicate transaction prevention, i.e. if the value is \\`true\\`, duplicate transactions will not be validated, allowing to send bulk reloads. (optional)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`statusCode\\`: Number representing the HTTP status code (required)\\n \\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n- \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`posBalance\\`: String representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: String representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`value\\`: String or Number representing the field value (required)\\n \\n - \\`type\\`: String representing the field type (optional)\\n \\n - \\`labelLink\\`: String representing the label link (optional)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`type\\`: String representing the cost type (optional)\\n \\n - \\`labelLink\\`: String representing the label link (optional)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\\n \\n - \\`sale\\`: Object containing sale information (required)\\n \\n - \\`id\\`: Number representing the sale ID (required)\\n \\n - \\`userId\\`: Number representing the user ID (required)\\n \\n - \\`amount\\`: Number representing the sale amount (required)\\n \\n - \\`serviceNumber\\`: String representing the service number (required)\\n \\n - \\`status\\`: Number representing the sale status (required)\\n \\n - \\`productId\\`: Number representing the product ID (required)\\n \\n - \\`createdAt\\`: String representing the creation timestamp (required)\\n \\n - \\`transactionId\\`: String representing the transaction ID (required)\\n \\n - \\`extra\\`: String representing additional information (optional)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4068
|
-
inputSchema:
|
|
3863
|
+
inputSchema: sellInputValidator,
|
|
4069
3864
|
jsonSchema: sellInputJsonSchema,
|
|
4070
3865
|
endpoint: '/sells/sell',
|
|
4071
3866
|
method: 'POST',
|
|
@@ -4074,12 +3869,9 @@ export const sellTool = {
|
|
|
4074
3869
|
handler: async (rawArgs) => {
|
|
4075
3870
|
try {
|
|
4076
3871
|
const normalizedArgs = rawArgs ?? {};
|
|
4077
|
-
|
|
4078
|
-
const secretId = normalizedArgs._secretId;
|
|
4079
|
-
// Remover _secretId de los args antes de validar
|
|
4080
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4081
|
-
const validatedInput = validateToolInput(sellInputValidator, argsToValidate);
|
|
3872
|
+
const validatedInput = validateToolInput(sellInputValidator, normalizedArgs);
|
|
4082
3873
|
const args = validatedInput;
|
|
3874
|
+
const secretId = args._secretId;
|
|
4083
3875
|
const bodyData = {};
|
|
4084
3876
|
const productIdValue = args.productId !== undefined ? args.productId : 40;
|
|
4085
3877
|
if (productIdValue !== undefined)
|
|
@@ -4138,17 +3930,16 @@ const product_directtv_prepagoInputJsonSchema = {
|
|
|
4138
3930
|
},
|
|
4139
3931
|
"required": []
|
|
4140
3932
|
};
|
|
4141
|
-
const
|
|
3933
|
+
const product_directtv_prepagoInputValidator = z.object({
|
|
4142
3934
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
4143
3935
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4144
3936
|
amount: z.number().optional().describe("Campo del body: amount")
|
|
4145
|
-
};
|
|
4146
|
-
const product_directtv_prepagoInputValidator = z.object(product_directtv_prepagoInputShape);
|
|
3937
|
+
});
|
|
4147
3938
|
// Herramienta: product_directtv_prepago
|
|
4148
3939
|
export const product_directtv_prepagoTool = {
|
|
4149
3940
|
name: 'product_directtv_prepago',
|
|
4150
3941
|
description: "---\\n\\n## Description\\n\\nAllows performing a bill payment operation on the platform. Send the request body with the necessary parameters for the payment in the format specified by the PaymentBody object. The response will include the results of the operation in case of success.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4151
|
-
inputSchema:
|
|
3942
|
+
inputSchema: product_directtv_prepagoInputValidator,
|
|
4152
3943
|
jsonSchema: product_directtv_prepagoInputJsonSchema,
|
|
4153
3944
|
endpoint: '/sells/sell',
|
|
4154
3945
|
method: 'POST',
|
|
@@ -4157,12 +3948,9 @@ export const product_directtv_prepagoTool = {
|
|
|
4157
3948
|
handler: async (rawArgs) => {
|
|
4158
3949
|
try {
|
|
4159
3950
|
const normalizedArgs = rawArgs ?? {};
|
|
4160
|
-
|
|
4161
|
-
const secretId = normalizedArgs._secretId;
|
|
4162
|
-
// Remover _secretId de los args antes de validar
|
|
4163
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4164
|
-
const validatedInput = validateToolInput(product_directtv_prepagoInputValidator, argsToValidate);
|
|
3951
|
+
const validatedInput = validateToolInput(product_directtv_prepagoInputValidator, normalizedArgs);
|
|
4165
3952
|
const args = validatedInput;
|
|
3953
|
+
const secretId = args._secretId;
|
|
4166
3954
|
const bodyData = {};
|
|
4167
3955
|
const dataValue = args.data !== undefined ? args.data : { "cellphone": "3015874044" };
|
|
4168
3956
|
if (dataValue !== undefined)
|
|
@@ -4219,17 +4007,16 @@ const sell_netflixInputJsonSchema = {
|
|
|
4219
4007
|
},
|
|
4220
4008
|
"required": []
|
|
4221
4009
|
};
|
|
4222
|
-
const
|
|
4010
|
+
const sell_netflixInputValidator = z.object({
|
|
4223
4011
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4224
4012
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4225
4013
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4226
|
-
};
|
|
4227
|
-
const sell_netflixInputValidator = z.object(sell_netflixInputShape);
|
|
4014
|
+
});
|
|
4228
4015
|
// Herramienta: sell_netflix
|
|
4229
4016
|
export const sell_netflixTool = {
|
|
4230
4017
|
name: 'sell_netflix',
|
|
4231
4018
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount for the transaction (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4232
|
-
inputSchema:
|
|
4019
|
+
inputSchema: sell_netflixInputValidator,
|
|
4233
4020
|
jsonSchema: sell_netflixInputJsonSchema,
|
|
4234
4021
|
endpoint: '/sells/sell',
|
|
4235
4022
|
method: 'POST',
|
|
@@ -4238,12 +4025,9 @@ export const sell_netflixTool = {
|
|
|
4238
4025
|
handler: async (rawArgs) => {
|
|
4239
4026
|
try {
|
|
4240
4027
|
const normalizedArgs = rawArgs ?? {};
|
|
4241
|
-
|
|
4242
|
-
const secretId = normalizedArgs._secretId;
|
|
4243
|
-
// Remover _secretId de los args antes de validar
|
|
4244
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4245
|
-
const validatedInput = validateToolInput(sell_netflixInputValidator, argsToValidate);
|
|
4028
|
+
const validatedInput = validateToolInput(sell_netflixInputValidator, normalizedArgs);
|
|
4246
4029
|
const args = validatedInput;
|
|
4030
|
+
const secretId = args._secretId;
|
|
4247
4031
|
const bodyData = {};
|
|
4248
4032
|
const productIdValue = args.productId !== undefined ? args.productId : 202;
|
|
4249
4033
|
if (productIdValue !== undefined)
|
|
@@ -4311,19 +4095,18 @@ const sell_netflix_errorInputJsonSchema = {
|
|
|
4311
4095
|
},
|
|
4312
4096
|
"required": []
|
|
4313
4097
|
};
|
|
4314
|
-
const
|
|
4098
|
+
const sell_netflix_errorInputValidator = z.object({
|
|
4315
4099
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4316
4100
|
hash: z.any().optional().describe("Campo del body: hash"),
|
|
4317
4101
|
sellType: z.any().optional().describe("Campo del body: sellType"),
|
|
4318
4102
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4319
4103
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4320
|
-
};
|
|
4321
|
-
const sell_netflix_errorInputValidator = z.object(sell_netflix_errorInputShape);
|
|
4104
|
+
});
|
|
4322
4105
|
// Herramienta: sell_netflix_error
|
|
4323
4106
|
export const sell_netflix_errorTool = {
|
|
4324
4107
|
name: 'sell_netflix_error',
|
|
4325
4108
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`moveTmpBalance\\`: Boolean flag to move temporary balance (required)\\n \\n- \\`hash\\`: String containing the hash value for the operation (nullable)\\n \\n- \\`sellType\\`: String indicating the type of the sell operation (nullable)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n - \\`document\\`: String containing the document number (required)\\n \\n - \\`reference\\`: String containing the reference number for the payment (nullable)\\n \\n - \\`hashEchoData\\`: String containing the hash echo data for the operation (nullable)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4326
|
-
inputSchema:
|
|
4109
|
+
inputSchema: sell_netflix_errorInputValidator,
|
|
4327
4110
|
jsonSchema: sell_netflix_errorInputJsonSchema,
|
|
4328
4111
|
endpoint: '/sells/sell',
|
|
4329
4112
|
method: 'POST',
|
|
@@ -4332,12 +4115,9 @@ export const sell_netflix_errorTool = {
|
|
|
4332
4115
|
handler: async (rawArgs) => {
|
|
4333
4116
|
try {
|
|
4334
4117
|
const normalizedArgs = rawArgs ?? {};
|
|
4335
|
-
|
|
4336
|
-
const secretId = normalizedArgs._secretId;
|
|
4337
|
-
// Remover _secretId de los args antes de validar
|
|
4338
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4339
|
-
const validatedInput = validateToolInput(sell_netflix_errorInputValidator, argsToValidate);
|
|
4118
|
+
const validatedInput = validateToolInput(sell_netflix_errorInputValidator, normalizedArgs);
|
|
4340
4119
|
const args = validatedInput;
|
|
4120
|
+
const secretId = args._secretId;
|
|
4341
4121
|
const bodyData = {};
|
|
4342
4122
|
const productIdValue = args.productId !== undefined ? args.productId : 202;
|
|
4343
4123
|
if (productIdValue !== undefined)
|
|
@@ -4396,17 +4176,16 @@ const sell_xbox_gamepass_core_3_mesesInputJsonSchema = {
|
|
|
4396
4176
|
},
|
|
4397
4177
|
"required": []
|
|
4398
4178
|
};
|
|
4399
|
-
const
|
|
4179
|
+
const sell_xbox_gamepass_core_3_mesesInputValidator = z.object({
|
|
4400
4180
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4401
4181
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4402
4182
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4403
|
-
};
|
|
4404
|
-
const sell_xbox_gamepass_core_3_mesesInputValidator = z.object(sell_xbox_gamepass_core_3_mesesInputShape);
|
|
4183
|
+
});
|
|
4405
4184
|
// Herramienta: sell_xbox_gamepass_core_3_meses
|
|
4406
4185
|
export const sell_xbox_gamepass_core_3_mesesTool = {
|
|
4407
4186
|
name: 'sell_xbox_gamepass_core_3_meses',
|
|
4408
4187
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`moveTmpBalance\\`: Boolean flag to move temporary balance (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`statusCode\\`: Number representing the status code (required)\\n \\n - \\`message\\`: String containing a message about the transaction (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`value\\`: String or Number representing the field value (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4409
|
-
inputSchema:
|
|
4188
|
+
inputSchema: sell_xbox_gamepass_core_3_mesesInputValidator,
|
|
4410
4189
|
jsonSchema: sell_xbox_gamepass_core_3_mesesInputJsonSchema,
|
|
4411
4190
|
endpoint: '/sells/sell',
|
|
4412
4191
|
method: 'POST',
|
|
@@ -4415,12 +4194,9 @@ export const sell_xbox_gamepass_core_3_mesesTool = {
|
|
|
4415
4194
|
handler: async (rawArgs) => {
|
|
4416
4195
|
try {
|
|
4417
4196
|
const normalizedArgs = rawArgs ?? {};
|
|
4418
|
-
|
|
4419
|
-
const secretId = normalizedArgs._secretId;
|
|
4420
|
-
// Remover _secretId de los args antes de validar
|
|
4421
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4422
|
-
const validatedInput = validateToolInput(sell_xbox_gamepass_core_3_mesesInputValidator, argsToValidate);
|
|
4197
|
+
const validatedInput = validateToolInput(sell_xbox_gamepass_core_3_mesesInputValidator, normalizedArgs);
|
|
4423
4198
|
const args = validatedInput;
|
|
4199
|
+
const secretId = args._secretId;
|
|
4424
4200
|
const bodyData = {};
|
|
4425
4201
|
const productIdValue = args.productId !== undefined ? args.productId : 807;
|
|
4426
4202
|
if (productIdValue !== undefined)
|
|
@@ -4472,16 +4248,15 @@ const product_directtv_go_1014005InputJsonSchema = {
|
|
|
4472
4248
|
},
|
|
4473
4249
|
"required": []
|
|
4474
4250
|
};
|
|
4475
|
-
const
|
|
4251
|
+
const product_directtv_go_1014005InputValidator = z.object({
|
|
4476
4252
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
4477
4253
|
productId: z.number().optional().describe("Campo del body: productId")
|
|
4478
|
-
};
|
|
4479
|
-
const product_directtv_go_1014005InputValidator = z.object(product_directtv_go_1014005InputShape);
|
|
4254
|
+
});
|
|
4480
4255
|
// Herramienta: product_directtv_go_1014005
|
|
4481
4256
|
export const product_directtv_go_1014005Tool = {
|
|
4482
4257
|
name: 'product_directtv_go_1014005',
|
|
4483
4258
|
description: "---\\n\\n## Description\\n\\nAllows performing a bill payment operation on the platform. Send the request body with the necessary parameters for the payment in the format specified by the PaymentBody object. The response will include the results of the operation in case of success.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4484
|
-
inputSchema:
|
|
4259
|
+
inputSchema: product_directtv_go_1014005InputValidator,
|
|
4485
4260
|
jsonSchema: product_directtv_go_1014005InputJsonSchema,
|
|
4486
4261
|
endpoint: '/sells/sell',
|
|
4487
4262
|
method: 'POST',
|
|
@@ -4490,12 +4265,9 @@ export const product_directtv_go_1014005Tool = {
|
|
|
4490
4265
|
handler: async (rawArgs) => {
|
|
4491
4266
|
try {
|
|
4492
4267
|
const normalizedArgs = rawArgs ?? {};
|
|
4493
|
-
|
|
4494
|
-
const secretId = normalizedArgs._secretId;
|
|
4495
|
-
// Remover _secretId de los args antes de validar
|
|
4496
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4497
|
-
const validatedInput = validateToolInput(product_directtv_go_1014005InputValidator, argsToValidate);
|
|
4268
|
+
const validatedInput = validateToolInput(product_directtv_go_1014005InputValidator, normalizedArgs);
|
|
4498
4269
|
const args = validatedInput;
|
|
4270
|
+
const secretId = args._secretId;
|
|
4499
4271
|
const bodyData = {};
|
|
4500
4272
|
const dataValue = args.data !== undefined ? args.data : { "cellphone": "3104784242", "email": "fake@refacil.com" };
|
|
4501
4273
|
if (dataValue !== undefined)
|
|
@@ -4544,16 +4316,15 @@ const product_directtv_go_100777InputJsonSchema = {
|
|
|
4544
4316
|
},
|
|
4545
4317
|
"required": []
|
|
4546
4318
|
};
|
|
4547
|
-
const
|
|
4319
|
+
const product_directtv_go_100777InputValidator = z.object({
|
|
4548
4320
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
4549
4321
|
productId: z.number().optional().describe("Campo del body: productId")
|
|
4550
|
-
};
|
|
4551
|
-
const product_directtv_go_100777InputValidator = z.object(product_directtv_go_100777InputShape);
|
|
4322
|
+
});
|
|
4552
4323
|
// Herramienta: product_directtv_go_100777
|
|
4553
4324
|
export const product_directtv_go_100777Tool = {
|
|
4554
4325
|
name: 'product_directtv_go_100777',
|
|
4555
4326
|
description: "---\\n\\n## Description\\n\\nAllows performing a bill payment operation on the platform. Send the request body with the necessary parameters for the payment in the format specified by the PaymentBody object. The response will include the results of the operation in case of success.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4556
|
-
inputSchema:
|
|
4327
|
+
inputSchema: product_directtv_go_100777InputValidator,
|
|
4557
4328
|
jsonSchema: product_directtv_go_100777InputJsonSchema,
|
|
4558
4329
|
endpoint: '/sells/sell',
|
|
4559
4330
|
method: 'POST',
|
|
@@ -4562,12 +4333,9 @@ export const product_directtv_go_100777Tool = {
|
|
|
4562
4333
|
handler: async (rawArgs) => {
|
|
4563
4334
|
try {
|
|
4564
4335
|
const normalizedArgs = rawArgs ?? {};
|
|
4565
|
-
|
|
4566
|
-
const secretId = normalizedArgs._secretId;
|
|
4567
|
-
// Remover _secretId de los args antes de validar
|
|
4568
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4569
|
-
const validatedInput = validateToolInput(product_directtv_go_100777InputValidator, argsToValidate);
|
|
4336
|
+
const validatedInput = validateToolInput(product_directtv_go_100777InputValidator, normalizedArgs);
|
|
4570
4337
|
const args = validatedInput;
|
|
4338
|
+
const secretId = args._secretId;
|
|
4571
4339
|
const bodyData = {};
|
|
4572
4340
|
const dataValue = args.data !== undefined ? args.data : { "cellphone": "3104784242", "email": "fake@refacil.com" };
|
|
4573
4341
|
if (dataValue !== undefined)
|
|
@@ -4616,16 +4384,15 @@ const product_directtv_go_1014004InputJsonSchema = {
|
|
|
4616
4384
|
},
|
|
4617
4385
|
"required": []
|
|
4618
4386
|
};
|
|
4619
|
-
const
|
|
4387
|
+
const product_directtv_go_1014004InputValidator = z.object({
|
|
4620
4388
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
4621
4389
|
productId: z.number().optional().describe("Campo del body: productId")
|
|
4622
|
-
};
|
|
4623
|
-
const product_directtv_go_1014004InputValidator = z.object(product_directtv_go_1014004InputShape);
|
|
4390
|
+
});
|
|
4624
4391
|
// Herramienta: product_directtv_go_1014004
|
|
4625
4392
|
export const product_directtv_go_1014004Tool = {
|
|
4626
4393
|
name: 'product_directtv_go_1014004',
|
|
4627
4394
|
description: "---\\n\\n## Description\\n\\nAllows performing a bill payment operation on the platform. Send the request body with the necessary parameters for the payment in the format specified by the PaymentBody object. The response will include the results of the operation in case of success.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`email\\`: String containing the email address (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4628
|
-
inputSchema:
|
|
4395
|
+
inputSchema: product_directtv_go_1014004InputValidator,
|
|
4629
4396
|
jsonSchema: product_directtv_go_1014004InputJsonSchema,
|
|
4630
4397
|
endpoint: '/sells/sell',
|
|
4631
4398
|
method: 'POST',
|
|
@@ -4634,12 +4401,9 @@ export const product_directtv_go_1014004Tool = {
|
|
|
4634
4401
|
handler: async (rawArgs) => {
|
|
4635
4402
|
try {
|
|
4636
4403
|
const normalizedArgs = rawArgs ?? {};
|
|
4637
|
-
|
|
4638
|
-
const secretId = normalizedArgs._secretId;
|
|
4639
|
-
// Remover _secretId de los args antes de validar
|
|
4640
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4641
|
-
const validatedInput = validateToolInput(product_directtv_go_1014004InputValidator, argsToValidate);
|
|
4404
|
+
const validatedInput = validateToolInput(product_directtv_go_1014004InputValidator, normalizedArgs);
|
|
4642
4405
|
const args = validatedInput;
|
|
4406
|
+
const secretId = args._secretId;
|
|
4643
4407
|
const bodyData = {};
|
|
4644
4408
|
const dataValue = args.data !== undefined ? args.data : { "cellphone": "3104784242", "email": "fake@refacil.com" };
|
|
4645
4409
|
if (dataValue !== undefined)
|
|
@@ -4695,17 +4459,16 @@ const sell_essaInputJsonSchema = {
|
|
|
4695
4459
|
},
|
|
4696
4460
|
"required": []
|
|
4697
4461
|
};
|
|
4698
|
-
const
|
|
4462
|
+
const sell_essaInputValidator = z.object({
|
|
4699
4463
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4700
4464
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4701
4465
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4702
|
-
};
|
|
4703
|
-
const sell_essaInputValidator = z.object(sell_essaInputShape);
|
|
4466
|
+
});
|
|
4704
4467
|
// Herramienta: sell_essa
|
|
4705
4468
|
export const sell_essaTool = {
|
|
4706
4469
|
name: 'sell_essa',
|
|
4707
4470
|
description: "---\\n\\n## Description\\n\\nAllows performing a sale on the platform. Send the request body with the necessary parameters for the sale in the format specified by the SellBody object. This operation will return a response that includes information about the sale in case of success.\\n\\n**Note**: To make this request in the case of selling invoices, we need the hash and hashEchoData provided by the query response for the reference.\\n\\n### Timeout Configuration\\n\\nThe timeout value specified below is directly established by the provider and must be taken into account in integrations.\\n\\n| Parameter | Value |\\n|-----------|-------|\\n| **Maximum Timeout** | 150 seconds |\\n\\n---\\n\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`sellType\\`: String indicating the type of the sell operation (required)\\n \\n- \\`hash\\`: String containing the hash value for the operation (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`reference\\`: String containing the reference number for the payment (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number associated with the payment (required)\\n \\n - \\`hashEchoData\\`: String containing the hash echo data for the operation (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4708
|
-
inputSchema:
|
|
4471
|
+
inputSchema: sell_essaInputValidator,
|
|
4709
4472
|
jsonSchema: sell_essaInputJsonSchema,
|
|
4710
4473
|
endpoint: '/sells/sell',
|
|
4711
4474
|
method: 'POST',
|
|
@@ -4714,12 +4477,9 @@ export const sell_essaTool = {
|
|
|
4714
4477
|
handler: async (rawArgs) => {
|
|
4715
4478
|
try {
|
|
4716
4479
|
const normalizedArgs = rawArgs ?? {};
|
|
4717
|
-
|
|
4718
|
-
const secretId = normalizedArgs._secretId;
|
|
4719
|
-
// Remover _secretId de los args antes de validar
|
|
4720
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4721
|
-
const validatedInput = validateToolInput(sell_essaInputValidator, argsToValidate);
|
|
4480
|
+
const validatedInput = validateToolInput(sell_essaInputValidator, normalizedArgs);
|
|
4722
4481
|
const args = validatedInput;
|
|
4482
|
+
const secretId = args._secretId;
|
|
4723
4483
|
const bodyData = {};
|
|
4724
4484
|
const productIdValue = args.productId !== undefined ? args.productId : 230;
|
|
4725
4485
|
if (productIdValue !== undefined)
|
|
@@ -4776,17 +4536,16 @@ const sell_energia_emsaInputJsonSchema = {
|
|
|
4776
4536
|
},
|
|
4777
4537
|
"required": []
|
|
4778
4538
|
};
|
|
4779
|
-
const
|
|
4539
|
+
const sell_energia_emsaInputValidator = z.object({
|
|
4780
4540
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4781
4541
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4782
4542
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4783
|
-
};
|
|
4784
|
-
const sell_energia_emsaInputValidator = z.object(sell_energia_emsaInputShape);
|
|
4543
|
+
});
|
|
4785
4544
|
// Herramienta: sell_energia_emsa
|
|
4786
4545
|
export const sell_energia_emsaTool = {
|
|
4787
4546
|
name: 'sell_energia_emsa',
|
|
4788
4547
|
description: "---\\n\\n## Description\\n\\nAllows performing a bill payment operation on the platform. Send the request body with the necessary parameters for the payment in the format specified by the PaymentBody object. The response will include the results of the operation in case of success.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount of the payment (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`reference\\`: String containing the reference number for the payment (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4789
|
-
inputSchema:
|
|
4548
|
+
inputSchema: sell_energia_emsaInputValidator,
|
|
4790
4549
|
jsonSchema: sell_energia_emsaInputJsonSchema,
|
|
4791
4550
|
endpoint: '/sells/sell',
|
|
4792
4551
|
method: 'POST',
|
|
@@ -4795,12 +4554,9 @@ export const sell_energia_emsaTool = {
|
|
|
4795
4554
|
handler: async (rawArgs) => {
|
|
4796
4555
|
try {
|
|
4797
4556
|
const normalizedArgs = rawArgs ?? {};
|
|
4798
|
-
|
|
4799
|
-
const secretId = normalizedArgs._secretId;
|
|
4800
|
-
// Remover _secretId de los args antes de validar
|
|
4801
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4802
|
-
const validatedInput = validateToolInput(sell_energia_emsaInputValidator, argsToValidate);
|
|
4557
|
+
const validatedInput = validateToolInput(sell_energia_emsaInputValidator, normalizedArgs);
|
|
4803
4558
|
const args = validatedInput;
|
|
4559
|
+
const secretId = args._secretId;
|
|
4804
4560
|
const bodyData = {};
|
|
4805
4561
|
const productIdValue = args.productId !== undefined ? args.productId : 231;
|
|
4806
4562
|
if (productIdValue !== undefined)
|
|
@@ -4864,18 +4620,17 @@ const product_energia_prepago_epmInputJsonSchema = {
|
|
|
4864
4620
|
},
|
|
4865
4621
|
"required": []
|
|
4866
4622
|
};
|
|
4867
|
-
const
|
|
4623
|
+
const product_energia_prepago_epmInputValidator = z.object({
|
|
4868
4624
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
4869
4625
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4870
4626
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
4871
4627
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4872
|
-
};
|
|
4873
|
-
const product_energia_prepago_epmInputValidator = z.object(product_energia_prepago_epmInputShape);
|
|
4628
|
+
});
|
|
4874
4629
|
// Herramienta: product_energia_prepago_epm
|
|
4875
4630
|
export const product_energia_prepago_epmTool = {
|
|
4876
4631
|
name: 'product_energia_prepago_epm',
|
|
4877
4632
|
description: "---\\n\\n## Description\\n\\nAllows performing a custom query on the platform. Send the request body with the necessary parameters for the query in the format specified by the QueryBody object. The response will include the results of the query in case of success.\\n\\n### Timeout Configuration\\n\\nThe timeout value specified below is directly established by the provider and must be taken into account in integrations.\\n\\n| Parameter | Value |\\n|-----------|-------|\\n| **Maximum Timeout** | 150 seconds |\\n\\n\\n---\\n\\n## Request Schema\\n\\n- \\`queryType\\`: String representing the type of query (required)\\n \\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the amount for the query (required)\\n \\n- \\`data\\`: Object containing additional data (required)\\n \\n - \\`carrierId\\`: Number representing the carrier identifier (required)\\n \\n - \\`cellphone\\`: String containing the cellphone number (required)\\n \\n - \\`reference\\`: String containing the reference number for the query (required)\\n \\n - \\`method\\`: String representing the method of the query (required)\\n \\n\\n---\\n\\n## Response Schema\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\\n \\n - \\`date\\`: Number representing the timestamp of the operation (required)\\n \\n - \\`sellId\\`: Number representing the identifier of the sell operation (required)\\n \\n - \\`payload\\`: Object containing the main response data (required)\\n \\n - \\`preBalance\\`: Number representing the balance before the operation (required)\\n \\n - \\`posBalance\\`: Number representing the balance after the operation (required)\\n \\n - \\`tmpBalance\\`: Number representing the temporary balance (required)\\n \\n - \\`debt\\`: Number representing the debt amount (required)\\n \\n - \\`billData\\`: Object containing bill-related data (required)\\n \\n - \\`fields\\`: Array of field objects (required)\\n \\n - \\`name\\`: String representing the field name (required)\\n \\n - \\`type\\`: String representing the field type (required)\\n \\n - \\`options\\`: Array of option objects (required)\\n \\n - \\`label\\`: String representing the option label (required)\\n \\n - \\`value\\`: String representing the option value (required)\\n \\n - \\`label\\`: String representing the field label (required)\\n \\n - \\`placeholder\\`: String representing the field placeholder (required)\\n \\n - \\`required\\`: Boolean indicating if the field is required (required)\\n \\n - \\`costs\\`: Array of cost objects (required)\\n \\n - \\`label\\`: String representing the cost label (required)\\n \\n - \\`value\\`: Number representing the cost value (required)\\n \\n - \\`messages\\`: Array of message objects (required)\\n \\n - \\`value\\`: String representing the message value (required)\\n \\n - \\`stringInformation\\`: Array of string information objects (required)\\n \\n - \\`value\\`: String representing the string information value (required)\\n \\n - \\`footerInformation\\`: Array of footer information objects (required)\\n \\n - \\`share\\`: Object containing share information (required)\\n \\n - \\`cellphone\\`: String representing the cellphone number (required)\\n \\n - \\`message\\`: String representing the message (required)\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4878
|
-
inputSchema:
|
|
4633
|
+
inputSchema: product_energia_prepago_epmInputValidator,
|
|
4879
4634
|
jsonSchema: product_energia_prepago_epmInputJsonSchema,
|
|
4880
4635
|
endpoint: '/sells/sell',
|
|
4881
4636
|
method: 'POST',
|
|
@@ -4884,12 +4639,9 @@ export const product_energia_prepago_epmTool = {
|
|
|
4884
4639
|
handler: async (rawArgs) => {
|
|
4885
4640
|
try {
|
|
4886
4641
|
const normalizedArgs = rawArgs ?? {};
|
|
4887
|
-
|
|
4888
|
-
const secretId = normalizedArgs._secretId;
|
|
4889
|
-
// Remover _secretId de los args antes de validar
|
|
4890
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4891
|
-
const validatedInput = validateToolInput(product_energia_prepago_epmInputValidator, argsToValidate);
|
|
4642
|
+
const validatedInput = validateToolInput(product_energia_prepago_epmInputValidator, normalizedArgs);
|
|
4892
4643
|
const args = validatedInput;
|
|
4644
|
+
const secretId = args._secretId;
|
|
4893
4645
|
const bodyData = {};
|
|
4894
4646
|
const queryTypeValue = args.queryType !== undefined ? args.queryType : "ConfirmData";
|
|
4895
4647
|
if (queryTypeValue !== undefined)
|
|
@@ -4952,18 +4704,17 @@ const query_63InputJsonSchema = {
|
|
|
4952
4704
|
},
|
|
4953
4705
|
"required": []
|
|
4954
4706
|
};
|
|
4955
|
-
const
|
|
4707
|
+
const query_63InputValidator = z.object({
|
|
4956
4708
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
4957
4709
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
4958
4710
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
4959
4711
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
4960
|
-
};
|
|
4961
|
-
const query_63InputValidator = z.object(query_63InputShape);
|
|
4712
|
+
});
|
|
4962
4713
|
// Herramienta: query_63
|
|
4963
4714
|
export const query_63Tool = {
|
|
4964
4715
|
name: 'query_63',
|
|
4965
4716
|
description: "Here you will find all the endpoints related to Transfiya correspondent selling.\\n\\n**Note:** The products associated with Transfiya Correspondent Sales have an administrative cost for each sale made. For more information, please contact your sales agent.\\n\\n## Webhook\\n\\nTo sell productos assicieated with Transfiya in mandatory implemnt the webhook. Throught the webhook the status of the transaction is notified. The webhook is a local Refacil proxy that forward the notifications requests to the final webhook.\\n\\n<img src=\\\"https://content.pstmn.io/cf2fe660-bd59-477e-8925-f9017ff37f6b/aW1hZ2UucG5n\\\" width=\\\"617\\\" height=\\\"398\\\">\\n\\n### Authentication\\n\\nThe JWT is generated with a public and private key. Refacil will provide a public key to validate the JWT. Here is an example to validate the JWT:\\n\\n\\`\\`\\` typescript\\nimport { verify } from \\'jsonwebtoken\\';\\nasync validateJwt(token: string): Promise<any> {\\n const publicKey = \\'the public key provided by Refacil...\\';\\n try {\\n const decoded = verify(token, publicKey, {\\n algorithms: [\\'RS256\\'],\\n });\\n return {\\n valid: true,\\n message: \\'Token is valid.\\',\\n data: decoded,\\n }; \\n } catch (error) {\\n if (error.name === \\'JsonWebTokenError\\') {\\n throw new ForbiddenException(\\'Invalid token.\\');\\n } else {\\n throw new UnauthorizedException(\\'Token verification failed.\\');\\n }\\n }\\n}\\n\\n \\`\\`\\`\\n\\n### Webhook request body\\n\\n\\`\\`\\` json\\n{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"PENDING\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"130\\\"\\n}\\n\\n \\`\\`\\`\\n\\n| **Parameter** | **Description** |\\n| --- | --- |\\n| \\`saleId\\` | ID of the sale returned by the sale request |\\n| \\`status\\` | Indicates the status of the sale: <br>\\`0\\`: Failed <br>\\`1\\`: Successful <br>\\`9\\`: Pending |\\n| \\`transfiyaStatus\\` | The TransfiYa status, see the details below |\\n| \\`reversed\\` | This parameter is only used in deposits transactions. <br> <br>A boolean indicating if the balance was refunded to the POC: <br>\\`true\\`: Refunded <br>\\`false\\`: Not refunded <br> <br>When reversed is false, the balance was not refunded, and you should contact customer service using the contact details provided by your commercial agent |\\n| \\`errorCode\\` | The error code of the transaction, see the list below |\\n\\n### Webhook request example\\n\\n\\`\\`\\` bash\\ncurl --location --globoff \\'https://acme.refacil.local/transfiYaNotifications\\' \\\\\\n--header \\'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\\' \\\\\\n--header \\'Content-Type: application/json\\' \\\\\\n--data \\'{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"REJECTED\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"TFYA302\\\"\\n }\\'\\n\\n \\`\\`\\`\\n\\n## TransfiYa Status\\n\\n| **transfiyaStatus** | **Withdrawal transaction status** | **Deposits transaction status** | Description |\\n| --- | --- | --- | --- |\\n| \\`CREATED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is received and queued for processing. |\\n| \\`PENDING\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is valid and is waiting for the target to accept it. |\\n| \\`ACCEPTED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer has been accepted by the target, and payment is pending in the target bank. |\\n| \\`COMPLETED\\` | \\`1\\`: Successful | \\`1\\`: Successful | The payment is valid and completely processed, visible in the receiving bank account. |\\n| \\`REJECTED\\` | \\`0\\`: Failed | \\`1\\`: Successful | Payment was rejected. |\\n| \\`ERROR\\` | \\`0\\`: Failed | \\`1\\`: Successful | An error occurred during payment. |\\n\\n### Transfer state machine\\n\\n<img src=\\\"https://content.pstmn.io/89f89557-2e1b-44c2-8dcb-d9e7d2f32c54/aW1hZ2UucG5n\\\" width=\\\"293\\\" height=\\\"380\\\">\\n\\n## Error Codes\\n\\n| Code | Description |\\n| --- | --- |\\n| TFYA307 | Cuenta inactiva |\\n| TFYA309 | La cuenta no existe |\\n| TFYA310 | La cuenta no está habilitada |\\n| TFYA316 | Los datos transaccionales no son consistentes |\\n| TFYA332 | Error bancario indefinido |\\n\\n\n\nContexto: Endpoint: POST /product/query | Product > Query\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
4966
|
-
inputSchema:
|
|
4717
|
+
inputSchema: query_63InputValidator,
|
|
4967
4718
|
jsonSchema: query_63InputJsonSchema,
|
|
4968
4719
|
endpoint: '/product/query',
|
|
4969
4720
|
method: 'POST',
|
|
@@ -4972,12 +4723,9 @@ export const query_63Tool = {
|
|
|
4972
4723
|
handler: async (rawArgs) => {
|
|
4973
4724
|
try {
|
|
4974
4725
|
const normalizedArgs = rawArgs ?? {};
|
|
4975
|
-
|
|
4976
|
-
const secretId = normalizedArgs._secretId;
|
|
4977
|
-
// Remover _secretId de los args antes de validar
|
|
4978
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
4979
|
-
const validatedInput = validateToolInput(query_63InputValidator, argsToValidate);
|
|
4726
|
+
const validatedInput = validateToolInput(query_63InputValidator, normalizedArgs);
|
|
4980
4727
|
const args = validatedInput;
|
|
4728
|
+
const secretId = args._secretId;
|
|
4981
4729
|
const bodyData = {};
|
|
4982
4730
|
const productIdValue = args.productId !== undefined ? args.productId : 240;
|
|
4983
4731
|
if (productIdValue !== undefined)
|
|
@@ -5040,18 +4788,17 @@ const sell_transfiya_withdrawalsInputJsonSchema = {
|
|
|
5040
4788
|
},
|
|
5041
4789
|
"required": []
|
|
5042
4790
|
};
|
|
5043
|
-
const
|
|
4791
|
+
const sell_transfiya_withdrawalsInputValidator = z.object({
|
|
5044
4792
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
5045
4793
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
5046
4794
|
webhookUrl: z.string().optional().describe("Campo del body: webhookUrl"),
|
|
5047
4795
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
5048
|
-
};
|
|
5049
|
-
const sell_transfiya_withdrawalsInputValidator = z.object(sell_transfiya_withdrawalsInputShape);
|
|
4796
|
+
});
|
|
5050
4797
|
// Herramienta: sell_transfiya_withdrawals
|
|
5051
4798
|
export const sell_transfiya_withdrawalsTool = {
|
|
5052
4799
|
name: 'sell_transfiya_withdrawals',
|
|
5053
4800
|
description: "Here you will find all the endpoints related to Transfiya correspondent selling.\\n\\n**Note:** The products associated with Transfiya Correspondent Sales have an administrative cost for each sale made. For more information, please contact your sales agent.\\n\\n## Webhook\\n\\nTo sell productos assicieated with Transfiya in mandatory implemnt the webhook. Throught the webhook the status of the transaction is notified. The webhook is a local Refacil proxy that forward the notifications requests to the final webhook.\\n\\n<img src=\\\"https://content.pstmn.io/cf2fe660-bd59-477e-8925-f9017ff37f6b/aW1hZ2UucG5n\\\" width=\\\"617\\\" height=\\\"398\\\">\\n\\n### Authentication\\n\\nThe JWT is generated with a public and private key. Refacil will provide a public key to validate the JWT. Here is an example to validate the JWT:\\n\\n\\`\\`\\` typescript\\nimport { verify } from \\'jsonwebtoken\\';\\nasync validateJwt(token: string): Promise<any> {\\n const publicKey = \\'the public key provided by Refacil...\\';\\n try {\\n const decoded = verify(token, publicKey, {\\n algorithms: [\\'RS256\\'],\\n });\\n return {\\n valid: true,\\n message: \\'Token is valid.\\',\\n data: decoded,\\n }; \\n } catch (error) {\\n if (error.name === \\'JsonWebTokenError\\') {\\n throw new ForbiddenException(\\'Invalid token.\\');\\n } else {\\n throw new UnauthorizedException(\\'Token verification failed.\\');\\n }\\n }\\n}\\n\\n \\`\\`\\`\\n\\n### Webhook request body\\n\\n\\`\\`\\` json\\n{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"PENDING\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"130\\\"\\n}\\n\\n \\`\\`\\`\\n\\n| **Parameter** | **Description** |\\n| --- | --- |\\n| \\`saleId\\` | ID of the sale returned by the sale request |\\n| \\`status\\` | Indicates the status of the sale: <br>\\`0\\`: Failed <br>\\`1\\`: Successful <br>\\`9\\`: Pending |\\n| \\`transfiyaStatus\\` | The TransfiYa status, see the details below |\\n| \\`reversed\\` | This parameter is only used in deposits transactions. <br> <br>A boolean indicating if the balance was refunded to the POC: <br>\\`true\\`: Refunded <br>\\`false\\`: Not refunded <br> <br>When reversed is false, the balance was not refunded, and you should contact customer service using the contact details provided by your commercial agent |\\n| \\`errorCode\\` | The error code of the transaction, see the list below |\\n\\n### Webhook request example\\n\\n\\`\\`\\` bash\\ncurl --location --globoff \\'https://acme.refacil.local/transfiYaNotifications\\' \\\\\\n--header \\'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\\' \\\\\\n--header \\'Content-Type: application/json\\' \\\\\\n--data \\'{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"REJECTED\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"TFYA302\\\"\\n }\\'\\n\\n \\`\\`\\`\\n\\n## TransfiYa Status\\n\\n| **transfiyaStatus** | **Withdrawal transaction status** | **Deposits transaction status** | Description |\\n| --- | --- | --- | --- |\\n| \\`CREATED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is received and queued for processing. |\\n| \\`PENDING\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is valid and is waiting for the target to accept it. |\\n| \\`ACCEPTED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer has been accepted by the target, and payment is pending in the target bank. |\\n| \\`COMPLETED\\` | \\`1\\`: Successful | \\`1\\`: Successful | The payment is valid and completely processed, visible in the receiving bank account. |\\n| \\`REJECTED\\` | \\`0\\`: Failed | \\`1\\`: Successful | Payment was rejected. |\\n| \\`ERROR\\` | \\`0\\`: Failed | \\`1\\`: Successful | An error occurred during payment. |\\n\\n### Transfer state machine\\n\\n<img src=\\\"https://content.pstmn.io/89f89557-2e1b-44c2-8dcb-d9e7d2f32c54/aW1hZ2UucG5n\\\" width=\\\"293\\\" height=\\\"380\\\">\\n\\n## Error Codes\\n\\n| Code | Description |\\n| --- | --- |\\n| TFYA307 | Cuenta inactiva |\\n| TFYA309 | La cuenta no existe |\\n| TFYA310 | La cuenta no está habilitada |\\n| TFYA316 | Los datos transaccionales no son consistentes |\\n| TFYA332 | Error bancario indefinido |\\n\\n # Sucessful withdrawal process\\n\\n<img src=\\\"https://content.pstmn.io/73d6a308-4673-4a18-b603-56f04990312a/aW1hZ2UucG5n\\\" alt=\\\"Withdrawal%20secuence%20diagram\\\" width=\\\"844\\\" height=\\\"628\\\">\\n\\n**Step 1: POC requests transaction:** The POC initiates a transaction request to the **Integrator**.\\n\\n**Step 2: Integrator forwards the request to Refacil API:** The **Integrator** forwards the request to the **Refacil API** for further processing.\\n\\n**Step 3: Refacil API sends request to Transfiya:** The **Refacil API** sends a request to **Transfiya** to create a transaction.\\n\\n**Step 4: Refacil creates pending transaction:** The **Refacil** system creates a pending transaction and returns the response to the **Integrator**.\\n\\n**Step 5: Transfiya notifies banks by SMS: Transfiya** sends SMS notification to the user and sends push notifications to all banks associated with the user, informing them about the pending transaction.\\n\\n**Step 6: User approves transaction:** The end-user approves the transaction through bank application.\\n\\n**Step 7: Transfiya notifies Refacil API:** Once the user approves the transaction, **Transfiya** sends a notification to the **Refacil API** indicating the status of the transaction.\\n\\n**Step 8: Refacil API notifies Integrator:** The **Refacil API** notifies the **Integrator** of the transaction status, using a webhook mechanism. For each transaction state (in this case, PENDING), it sends data that includes the sale ID and transaction status.\\n\\n**Step 9: Transaction processing (If completed):** If the transaction status changes to \\\"COMPLETED,\\\" the system processes the transaction by:\\n\\n- Adding balance to the user\\'s account.\\n \\n- Processing commissions related to the transaction.\\n \\n\\n# Failed withdrawal process\\n\\n<img src=\\\"https://content.pstmn.io/2205c66f-8681-40c4-8e40-50e6aa43d60f/aW1hZ2UucG5n\\\" width=\\\"767\\\" height=\\\"566\\\">\\n\\n**Step 1: POC requests transaction:** The POC initiates a transaction request to the **Integrator**.\\n\\n**Step 2: Integrator forwards the request to Refacil API:** The **Integrator** forwards the request to the **Refacil API** for further processing.\\n\\n**Step 3: Refacil API sends request to Transfiya:** The **Refacil API** sends a request to **Transfiya** to create a transaction.\\n\\n**Step 4: Refacil creates pending transaction:** The **Refacil** system creates a pending transaction and returns the response to the **Integrator**.\\n\\n**Step 5: Transfiya notifies banks by SMS: Transfiya** sends SMS notification to the user and sends push notifications to all banks associated with the user, informing them about the pending transaction.\\n\\n**Step 6: User rejects the transaction:** The user rejects the transaction, causing the process to fail.\\n\\n**Step 7: Transfiya notifies Refacil API:** Once the user rejects the transaction, **Transfiya** sends a notification back to the **Refacil API**, indicating that the transaction has been marked as failed.\\n\\n**Step 8: Refacil API notifies Integrator:** The **Refacil API** notifies the **Integrator** using a webhook, providing details about the failed transaction.\\n\\n**Step 9: Transaction marked as failed:** If the transaction status changes to \\\"REJECTED,\\\" the transaction is officially marked as failed within the system.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5054
|
-
inputSchema:
|
|
4801
|
+
inputSchema: sell_transfiya_withdrawalsInputValidator,
|
|
5055
4802
|
jsonSchema: sell_transfiya_withdrawalsInputJsonSchema,
|
|
5056
4803
|
endpoint: '/sells/sell',
|
|
5057
4804
|
method: 'POST',
|
|
@@ -5060,12 +4807,9 @@ export const sell_transfiya_withdrawalsTool = {
|
|
|
5060
4807
|
handler: async (rawArgs) => {
|
|
5061
4808
|
try {
|
|
5062
4809
|
const normalizedArgs = rawArgs ?? {};
|
|
5063
|
-
|
|
5064
|
-
const secretId = normalizedArgs._secretId;
|
|
5065
|
-
// Remover _secretId de los args antes de validar
|
|
5066
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5067
|
-
const validatedInput = validateToolInput(sell_transfiya_withdrawalsInputValidator, argsToValidate);
|
|
4810
|
+
const validatedInput = validateToolInput(sell_transfiya_withdrawalsInputValidator, normalizedArgs);
|
|
5068
4811
|
const args = validatedInput;
|
|
4812
|
+
const secretId = args._secretId;
|
|
5069
4813
|
const bodyData = {};
|
|
5070
4814
|
const productIdValue = args.productId !== undefined ? args.productId : 241;
|
|
5071
4815
|
if (productIdValue !== undefined)
|
|
@@ -5130,18 +4874,17 @@ const sell_transfiya_depositsInputJsonSchema = {
|
|
|
5130
4874
|
},
|
|
5131
4875
|
"required": []
|
|
5132
4876
|
};
|
|
5133
|
-
const
|
|
4877
|
+
const sell_transfiya_depositsInputValidator = z.object({
|
|
5134
4878
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
5135
4879
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
5136
4880
|
webhookUrl: z.string().optional().describe("Campo del body: webhookUrl"),
|
|
5137
4881
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
5138
|
-
};
|
|
5139
|
-
const sell_transfiya_depositsInputValidator = z.object(sell_transfiya_depositsInputShape);
|
|
4882
|
+
});
|
|
5140
4883
|
// Herramienta: sell_transfiya_deposits
|
|
5141
4884
|
export const sell_transfiya_depositsTool = {
|
|
5142
4885
|
name: 'sell_transfiya_deposits',
|
|
5143
4886
|
description: "Here you will find all the endpoints related to Transfiya correspondent selling.\\n\\n**Note:** The products associated with Transfiya Correspondent Sales have an administrative cost for each sale made. For more information, please contact your sales agent.\\n\\n## Webhook\\n\\nTo sell productos assicieated with Transfiya in mandatory implemnt the webhook. Throught the webhook the status of the transaction is notified. The webhook is a local Refacil proxy that forward the notifications requests to the final webhook.\\n\\n<img src=\\\"https://content.pstmn.io/cf2fe660-bd59-477e-8925-f9017ff37f6b/aW1hZ2UucG5n\\\" width=\\\"617\\\" height=\\\"398\\\">\\n\\n### Authentication\\n\\nThe JWT is generated with a public and private key. Refacil will provide a public key to validate the JWT. Here is an example to validate the JWT:\\n\\n\\`\\`\\` typescript\\nimport { verify } from \\'jsonwebtoken\\';\\nasync validateJwt(token: string): Promise<any> {\\n const publicKey = \\'the public key provided by Refacil...\\';\\n try {\\n const decoded = verify(token, publicKey, {\\n algorithms: [\\'RS256\\'],\\n });\\n return {\\n valid: true,\\n message: \\'Token is valid.\\',\\n data: decoded,\\n }; \\n } catch (error) {\\n if (error.name === \\'JsonWebTokenError\\') {\\n throw new ForbiddenException(\\'Invalid token.\\');\\n } else {\\n throw new UnauthorizedException(\\'Token verification failed.\\');\\n }\\n }\\n}\\n\\n \\`\\`\\`\\n\\n### Webhook request body\\n\\n\\`\\`\\` json\\n{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"PENDING\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"130\\\"\\n}\\n\\n \\`\\`\\`\\n\\n| **Parameter** | **Description** |\\n| --- | --- |\\n| \\`saleId\\` | ID of the sale returned by the sale request |\\n| \\`status\\` | Indicates the status of the sale: <br>\\`0\\`: Failed <br>\\`1\\`: Successful <br>\\`9\\`: Pending |\\n| \\`transfiyaStatus\\` | The TransfiYa status, see the details below |\\n| \\`reversed\\` | This parameter is only used in deposits transactions. <br> <br>A boolean indicating if the balance was refunded to the POC: <br>\\`true\\`: Refunded <br>\\`false\\`: Not refunded <br> <br>When reversed is false, the balance was not refunded, and you should contact customer service using the contact details provided by your commercial agent |\\n| \\`errorCode\\` | The error code of the transaction, see the list below |\\n\\n### Webhook request example\\n\\n\\`\\`\\` bash\\ncurl --location --globoff \\'https://acme.refacil.local/transfiYaNotifications\\' \\\\\\n--header \\'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\\' \\\\\\n--header \\'Content-Type: application/json\\' \\\\\\n--data \\'{\\n \\\"saleId\\\": 438927666,\\n \\\"status\\\": 0,\\n \\\"transfiyaStatus\\\": \\\"REJECTED\\\",\\n \\\"reversed\\\": true,\\n \\\"errorCode\\\": \\\"TFYA302\\\"\\n }\\'\\n\\n \\`\\`\\`\\n\\n## TransfiYa Status\\n\\n| **transfiyaStatus** | **Withdrawal transaction status** | **Deposits transaction status** | Description |\\n| --- | --- | --- | --- |\\n| \\`CREATED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is received and queued for processing. |\\n| \\`PENDING\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer is valid and is waiting for the target to accept it. |\\n| \\`ACCEPTED\\` | \\`9\\`: Pending | \\`1\\`: Successful | Transfer has been accepted by the target, and payment is pending in the target bank. |\\n| \\`COMPLETED\\` | \\`1\\`: Successful | \\`1\\`: Successful | The payment is valid and completely processed, visible in the receiving bank account. |\\n| \\`REJECTED\\` | \\`0\\`: Failed | \\`1\\`: Successful | Payment was rejected. |\\n| \\`ERROR\\` | \\`0\\`: Failed | \\`1\\`: Successful | An error occurred during payment. |\\n\\n### Transfer state machine\\n\\n<img src=\\\"https://content.pstmn.io/89f89557-2e1b-44c2-8dcb-d9e7d2f32c54/aW1hZ2UucG5n\\\" width=\\\"293\\\" height=\\\"380\\\">\\n\\n## Error Codes\\n\\n| Code | Description |\\n| --- | --- |\\n| TFYA307 | Cuenta inactiva |\\n| TFYA309 | La cuenta no existe |\\n| TFYA310 | La cuenta no está habilitada |\\n| TFYA316 | Los datos transaccionales no son consistentes |\\n| TFYA332 | Error bancario indefinido |\\n\\n For deposits with the following numbers the following tests can be carried out.\\n\\nAutomatically approved: 3051000002\\n\\nAutomatically rejected: 3002491283\\n\\n## Sucessful deposit process\\n\\n<img src=\\\"https://content.pstmn.io/63835630-ee0d-4be2-952b-57c3d5c59ef6/aW1hZ2UucG5n\\\" alt=\\\"\\\" height=\\\"545\\\" width=\\\"763\\\">\\n\\n**Step 1: POC initiates a request:** The POC sends a request to the **Integrator** specifying a selected bank where the deposit should occur.\\n\\n**Step 2: Integrator sends request to Refacil API:** The **Integrator** forwards the deposit request to the **Refacil API** for processing.\\n\\n**Step 3: Refacil API sends request to Transfiya:** The **Refacil API** sends a request to **Transfiya** to create the transaction and process the deposit.\\n\\n**Step 4: Refacil API creates a successful transaction**: The **Refacil API** creates a successful transaction and debits the corresponding balance from the system.\\n\\n**Step 5: Transfiya validates and processes the transaction: Transfiya** validates the transaction and processes it successfully. It also makes sure that the transaction is ready for the deposit.\\n\\n**Step 6: Transfiya notifies and deposits to the selected bank: Transfiya** sends a notification that the deposit is successful and proceeds to deposit the amount to the selected bank account.\\n\\n**Step 7: Refacil API receives a notification from Transfiya: Transfiya** sends a notification back to the **Refacil API** indicating that the transaction has been successfully completed.\\n\\n**Step 8: Refacil API notifies Integrator:** The **Refacil API** notifies the Integrator of the transaction status, using a webhook mechanism. For each transaction state (in this case, COMPLETED), it sends data that includes the sale ID and transaction status.\\n\\n**Step 9: Process commissions:** If the transaction status changes to \\\"COMPLETED,\\\" The system processes commissions related to the transaction after the deposit is made.\\n\\n# Failed deposit process\\n\\n<img src=\\\"https://content.pstmn.io/52fc69a9-4395-4759-bae5-b13ec66cfe45/aW1hZ2UucG5n\\\" width=\\\"785\\\" height=\\\"574\\\">\\n\\n**Step 1: POC requests a deposit to a selected bank**: The **POC** initiates a deposit request to the **Integrator**, specifying the selected bank.\\n\\n**Step 2: Integrator forwards the request to Refacil API:** The **Integrator** sends the deposit request to the **Refacil API** for further processing.\\n\\n**Step 3: Refacil API sends a request to Transfiya:** The **Refacil API** forwards the request to **Transfiya** to process the transaction.\\n\\n**Step 4: Refacil API creates a \\\"successful\\\" transaction and debits the balance:** At this stage, the **Refacil API** debits the balance, assuming the transaction will be successful, and awaits confirmation from **Transfiya**.\\n\\n**Step 5: Transfiya validates the transaction and marks it as failed:** **Transfiya** processes the transaction but finds an issue that causes the transaction to fail. It returns this failed status to the **Refacil API**.\\n\\n**Step 6: Refacil API notifies Integrator via webhook:** The Refacil API sends a webhook notification to the Integrator, informing them that the transaction has failed. The \\`errorCode\\` provides the reason for the failure, while the \\`reversed\\` field indicates whether the balance has been refunded.\\n\\n**Step 7: Handling the reversal:** If the \\`reversed\\` field is \\`false\\`, the system will need to manually create a ticket to refund the balance to the POC.\\n\\n**Step 8: Processing error and refund:** If the error is marked as reversed (\\`reversed: true\\`), two actions will be taken:\\n\\n- **Refund the balance**: The debited amount is returned to the user\\'s account.\\n \\n- **No commission processing**: Since the transaction failed, no commissions are processed for this transaction.\n\nContexto: Endpoint: POST /sells/sell | Sells > Sell\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5144
|
-
inputSchema:
|
|
4887
|
+
inputSchema: sell_transfiya_depositsInputValidator,
|
|
5145
4888
|
jsonSchema: sell_transfiya_depositsInputJsonSchema,
|
|
5146
4889
|
endpoint: '/sells/sell',
|
|
5147
4890
|
method: 'POST',
|
|
@@ -5150,12 +4893,9 @@ export const sell_transfiya_depositsTool = {
|
|
|
5150
4893
|
handler: async (rawArgs) => {
|
|
5151
4894
|
try {
|
|
5152
4895
|
const normalizedArgs = rawArgs ?? {};
|
|
5153
|
-
|
|
5154
|
-
const secretId = normalizedArgs._secretId;
|
|
5155
|
-
// Remover _secretId de los args antes de validar
|
|
5156
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5157
|
-
const validatedInput = validateToolInput(sell_transfiya_depositsInputValidator, argsToValidate);
|
|
4896
|
+
const validatedInput = validateToolInput(sell_transfiya_depositsInputValidator, normalizedArgs);
|
|
5158
4897
|
const args = validatedInput;
|
|
4898
|
+
const secretId = args._secretId;
|
|
5159
4899
|
const bodyData = {};
|
|
5160
4900
|
const productIdValue = args.productId !== undefined ? args.productId : 240;
|
|
5161
4901
|
if (productIdValue !== undefined)
|
|
@@ -5226,19 +4966,18 @@ const sells_sale_saleidInputJsonSchema = {
|
|
|
5226
4966
|
},
|
|
5227
4967
|
"required": []
|
|
5228
4968
|
};
|
|
5229
|
-
const
|
|
4969
|
+
const sells_sale_saleidInputValidator = z.object({
|
|
5230
4970
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
5231
4971
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
5232
4972
|
sellType: z.string().optional().describe("Campo del body: sellType"),
|
|
5233
4973
|
hash: z.string().optional().describe("Campo del body: hash"),
|
|
5234
4974
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
5235
|
-
};
|
|
5236
|
-
const sells_sale_saleidInputValidator = z.object(sells_sale_saleidInputShape);
|
|
4975
|
+
});
|
|
5237
4976
|
// Herramienta: sells_sale_saleid
|
|
5238
4977
|
export const sells_sale_saleidTool = {
|
|
5239
4978
|
name: 'sells_sale_saleid',
|
|
5240
4979
|
description: "Here you will find all the endpoints related to multi-product sales.\\n\\n**Note:** If you need information about parameterized commissions, you should consult your sales agent.\\n\\n ---\\n\\n## Description\\n\\nThis method allows you to obtain the details of a sale by providing the unique identifier of the sale.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`saleId\\`: nique identifier of the sale. It can be found in the sell response as \\'saleId\\', \\'sellId\\', or \\'codigo\\'.\\n \\n\\n## Response Schema\\n\\n- \\`id\\`: Unique identifier of the sale. \\'sellId\\', or \\'codigo\\'.\\n \\n- \\`amount\\`: The amount of the sale.\\n \\n- \\`serviceNumber\\`: The number or reference associated to the sale, it depends on the product. .e.g.For SOAT insurance it will be the plate. For packages it will be the phone number.\\n \\n- \\`status\\`: The status of the sale.\\n \\n | status | definition |\\n | --- | --- |\\n | 0 | Failed |\\n | 1 | Successful |\\n | 9 | In progress |\\n \\n- \\`productId\\`: The product id associated to the sale.\\n \\n- \\`createdAt\\`: The created at date.\\n \\n- \\`transactionId\\`: For TransfiYa product, it is the provider transaction id.\\n \\n- \\`extra\\`: Extra data of the sale, It depends on the product. e.g. For SOAT insurance it will be the PDF url of the insurance policy. For pins it will be the pin.\n\nContexto: Endpoint: GET /sells/sale/{saleId} | Sells > Sale > {saleId}\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5241
|
-
inputSchema:
|
|
4980
|
+
inputSchema: sells_sale_saleidInputValidator,
|
|
5242
4981
|
jsonSchema: sells_sale_saleidInputJsonSchema,
|
|
5243
4982
|
endpoint: '/sells/sale/{saleId}',
|
|
5244
4983
|
method: 'GET',
|
|
@@ -5247,12 +4986,9 @@ export const sells_sale_saleidTool = {
|
|
|
5247
4986
|
handler: async (rawArgs) => {
|
|
5248
4987
|
try {
|
|
5249
4988
|
const normalizedArgs = rawArgs ?? {};
|
|
5250
|
-
|
|
5251
|
-
const secretId = normalizedArgs._secretId;
|
|
5252
|
-
// Remover _secretId de los args antes de validar
|
|
5253
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5254
|
-
const validatedInput = validateToolInput(sells_sale_saleidInputValidator, argsToValidate);
|
|
4989
|
+
const validatedInput = validateToolInput(sells_sale_saleidInputValidator, normalizedArgs);
|
|
5255
4990
|
const args = validatedInput;
|
|
4991
|
+
const secretId = args._secretId;
|
|
5256
4992
|
const queryParams = {};
|
|
5257
4993
|
const productIdValue = args.productId !== undefined ? args.productId : 52683;
|
|
5258
4994
|
if (productIdValue !== undefined)
|
|
@@ -5296,13 +5032,12 @@ const bank_get_transfiya_banksInputJsonSchema = {
|
|
|
5296
5032
|
"properties": {},
|
|
5297
5033
|
"required": []
|
|
5298
5034
|
};
|
|
5299
|
-
const
|
|
5300
|
-
const bank_get_transfiya_banksInputValidator = z.object(bank_get_transfiya_banksInputShape);
|
|
5035
|
+
const bank_get_transfiya_banksInputValidator = z.object({});
|
|
5301
5036
|
// Herramienta: bank_get_transfiya_banks
|
|
5302
5037
|
export const bank_get_transfiya_banksTool = {
|
|
5303
5038
|
name: 'bank_get_transfiya_banks',
|
|
5304
5039
|
description: "---\\n\\n### Description\\n\\nReturn the banks that support Transfiya for the specified transfer type.\\n\\nBelow is a list of authorized banks:\\n\\n| BANK | LOGO |\\n| --- | --- |\\n| BANCOLOMBIA | <img src=\\\"https://assets.refacil.co/banks/bancolombia.png\\\" alt=\\\"\\\"> |\\n| BANCO AGRARIO | <img src=\\\"https://assets.refacil.co/banks/bancoagrario.png\\\" alt=\\\"\\\"> |\\n| BANCO AV VILLAS | <img src=\\\"https://assets.refacil.co/banks/bancoavvillas.png\\\" alt=\\\"\\\"> |\\n| BANCO CAJA SOCIAL | <img src=\\\"https://assets.refacil.co/banks/bancocajasocial.png\\\" alt=\\\"\\\"> |\\n| BANCO COOPERATIVO COOPCENTRAL | <img src=\\\"https://assets.refacil.co/banks/bancocooperativocoopcentral.png\\\" alt=\\\"\\\"> |\\n| BANCO DAVIVIENDA | <img src=\\\"https://assets.refacil.co/banks/bancodavivienda.png\\\" alt=\\\"\\\"> |\\n| BANCO DE BOGOTA | <img src=\\\"https://assets.refacil.co/banks/bancodebogota.png\\\" alt=\\\"\\\"> |\\n| BANCO DE OCCIDENTE | <img src=\\\"https://assets.refacil.co/banks/bancodeoccidente.png\\\" alt=\\\"\\\"> |\\n| BANCO ITAU | <img src=\\\"https://assets.refacil.co/banks/itau.png\\\" alt=\\\"\\\"> |\\n| BANCO SERFINANZA | <img src=\\\"https://assets.refacil.co/banks/bancoserfinanza.png\\\" alt=\\\"\\\"> |\\n| CONFIAR COOPERATIVA FINANCIERA | <img src=\\\"https://assets.refacil.co/banks/confiarcooperativafinanciera.png\\\" alt=\\\"\\\"> |\\n| DALE | <img src=\\\"https://assets.refacil.co/banks/dale.png\\\" alt=\\\"\\\"> |\\n| DAVIPLATA | <img src=\\\"https://assets.refacil.co/banks/daviplata.png\\\" alt=\\\"\\\"> |\\n| MOVII S.A. | <img src=\\\"https://assets.refacil.co/banks/movii.png\\\" alt=\\\"\\\"> |\\n| NEQUI | <img src=\\\"https://assets.refacil.co/banks/nequi.png\\\" alt=\\\"\\\"> |\\n| SCOTIABANK COLPATRIA | <img src=\\\"https://assets.refacil.co/banks/scotiabankcolpatria.png\\\" alt=\\\"\\\"> |\\n| BANCAMIA SA | <img src=\\\"https://assets.refacil.co/banks/bancamia.png\\\" alt=\\\"\\\"> |\\n\\n---\\n\\n### Response schema\\n\\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- data: Object containing additional response data (required)\\n \\n - \\`banks\\`: Array of bank objects (required)\\n \\n - \\`label\\`: String representing the bank label (required)\\n \\n - \\`value\\`: Number representing the bank value (required)\\n \\n - \\`image\\`: String representing the bank image filename (required)\n\nContexto: Endpoint: GET /bank/get-transfiya-banks/:transferType | Bank > Get transfiya banks > :transferType\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5305
|
-
inputSchema:
|
|
5040
|
+
inputSchema: bank_get_transfiya_banksInputValidator,
|
|
5306
5041
|
jsonSchema: bank_get_transfiya_banksInputJsonSchema,
|
|
5307
5042
|
endpoint: '/bank/get-transfiya-banks/:transferType',
|
|
5308
5043
|
method: 'GET',
|
|
@@ -5311,12 +5046,9 @@ export const bank_get_transfiya_banksTool = {
|
|
|
5311
5046
|
handler: async (rawArgs) => {
|
|
5312
5047
|
try {
|
|
5313
5048
|
const normalizedArgs = rawArgs ?? {};
|
|
5314
|
-
|
|
5315
|
-
const secretId = normalizedArgs._secretId;
|
|
5316
|
-
// Remover _secretId de los args antes de validar
|
|
5317
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5318
|
-
const validatedInput = validateToolInput(bank_get_transfiya_banksInputValidator, argsToValidate);
|
|
5049
|
+
const validatedInput = validateToolInput(bank_get_transfiya_banksInputValidator, normalizedArgs);
|
|
5319
5050
|
const args = validatedInput;
|
|
5051
|
+
const secretId = args._secretId;
|
|
5320
5052
|
return await makeApiRequest('GET', '/bank/get-transfiya-banks/:transferType', undefined, undefined, secretId);
|
|
5321
5053
|
}
|
|
5322
5054
|
catch (error) {
|
|
@@ -5344,13 +5076,12 @@ const requirement_terms_and_conditionsInputJsonSchema = {
|
|
|
5344
5076
|
"properties": {},
|
|
5345
5077
|
"required": []
|
|
5346
5078
|
};
|
|
5347
|
-
const
|
|
5348
|
-
const requirement_terms_and_conditionsInputValidator = z.object(requirement_terms_and_conditionsInputShape);
|
|
5079
|
+
const requirement_terms_and_conditionsInputValidator = z.object({});
|
|
5349
5080
|
// Herramienta: requirement_terms_and_conditions
|
|
5350
5081
|
export const requirement_terms_and_conditionsTool = {
|
|
5351
5082
|
name: 'requirement_terms_and_conditions',
|
|
5352
5083
|
description: "---\\n\\n### Description\\n\\nGet privacy policy, terms and conditions and data treatment policy, then confirm them in the /requirement/confirm-terms-and-conditions service.\\n\\n---\\n\\n### Request Body\\n\\nThis endpoint does not require a request body.\\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data (required)\n\nContexto: Endpoint: GET /requirement/terms-and-conditions | Requirement > Terms and conditions\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5353
|
-
inputSchema:
|
|
5084
|
+
inputSchema: requirement_terms_and_conditionsInputValidator,
|
|
5354
5085
|
jsonSchema: requirement_terms_and_conditionsInputJsonSchema,
|
|
5355
5086
|
endpoint: '/requirement/terms-and-conditions',
|
|
5356
5087
|
method: 'GET',
|
|
@@ -5359,12 +5090,9 @@ export const requirement_terms_and_conditionsTool = {
|
|
|
5359
5090
|
handler: async (rawArgs) => {
|
|
5360
5091
|
try {
|
|
5361
5092
|
const normalizedArgs = rawArgs ?? {};
|
|
5362
|
-
|
|
5363
|
-
const secretId = normalizedArgs._secretId;
|
|
5364
|
-
// Remover _secretId de los args antes de validar
|
|
5365
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5366
|
-
const validatedInput = validateToolInput(requirement_terms_and_conditionsInputValidator, argsToValidate);
|
|
5093
|
+
const validatedInput = validateToolInput(requirement_terms_and_conditionsInputValidator, normalizedArgs);
|
|
5367
5094
|
const args = validatedInput;
|
|
5095
|
+
const secretId = args._secretId;
|
|
5368
5096
|
return await makeApiRequest('GET', '/requirement/terms-and-conditions', undefined, undefined, secretId);
|
|
5369
5097
|
}
|
|
5370
5098
|
catch (error) {
|
|
@@ -5398,15 +5126,14 @@ const requirement_con_ter_and_conditionsInputJsonSchema = {
|
|
|
5398
5126
|
},
|
|
5399
5127
|
"required": []
|
|
5400
5128
|
};
|
|
5401
|
-
const
|
|
5129
|
+
const requirement_con_ter_and_conditionsInputValidator = z.object({
|
|
5402
5130
|
checkDataTreatment: z.boolean().optional().describe("Campo del body: checkDataTreatment")
|
|
5403
|
-
};
|
|
5404
|
-
const requirement_con_ter_and_conditionsInputValidator = z.object(requirement_con_ter_and_conditionsInputShape);
|
|
5131
|
+
});
|
|
5405
5132
|
// Herramienta: requirement_con_ter_and_conditions
|
|
5406
5133
|
export const requirement_con_ter_and_conditionsTool = {
|
|
5407
5134
|
name: 'requirement_con_ter_and_conditions',
|
|
5408
5135
|
description: "---\\n\\n### Description\\n\\nIt allows you to transfer funds from the main users money bag to the bag of the user who is being added. The token of the user who will be the beneficiary and the amount must be added.\\n\\n---\\n\\n### Request Body\\n\\n- userToken (string, required): The user token for which the balance will be updated\\n \\n- amount (number, required): Amount to be updated\\n \\n\\n---\\n\\n### Response\\n\\n- \\`message\\`: String containing a message about the operation result (required)\\n \\n- \\`messageCode\\`: String code indicating the operation result (required)\\n \\n- \\`data\\`: Object containing additional response data.\n\nContexto: Endpoint: POST /requirement/confirm-terms-and-conditions | Requirement > Confirm terms and conditions\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5409
|
-
inputSchema:
|
|
5136
|
+
inputSchema: requirement_con_ter_and_conditionsInputValidator,
|
|
5410
5137
|
jsonSchema: requirement_con_ter_and_conditionsInputJsonSchema,
|
|
5411
5138
|
endpoint: '/requirement/confirm-terms-and-conditions',
|
|
5412
5139
|
method: 'POST',
|
|
@@ -5415,12 +5142,9 @@ export const requirement_con_ter_and_conditionsTool = {
|
|
|
5415
5142
|
handler: async (rawArgs) => {
|
|
5416
5143
|
try {
|
|
5417
5144
|
const normalizedArgs = rawArgs ?? {};
|
|
5418
|
-
|
|
5419
|
-
const secretId = normalizedArgs._secretId;
|
|
5420
|
-
// Remover _secretId de los args antes de validar
|
|
5421
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5422
|
-
const validatedInput = validateToolInput(requirement_con_ter_and_conditionsInputValidator, argsToValidate);
|
|
5145
|
+
const validatedInput = validateToolInput(requirement_con_ter_and_conditionsInputValidator, normalizedArgs);
|
|
5423
5146
|
const args = validatedInput;
|
|
5147
|
+
const secretId = args._secretId;
|
|
5424
5148
|
const bodyData = {};
|
|
5425
5149
|
const checkDataTreatmentValue = args.checkDataTreatment !== undefined ? args.checkDataTreatment : true;
|
|
5426
5150
|
if (checkDataTreatmentValue !== undefined)
|
|
@@ -5483,20 +5207,19 @@ const collection_submit_transactionInputJsonSchema = {
|
|
|
5483
5207
|
},
|
|
5484
5208
|
"required": []
|
|
5485
5209
|
};
|
|
5486
|
-
const
|
|
5210
|
+
const collection_submit_transactionInputValidator = z.object({
|
|
5487
5211
|
id_cliente: z.number().optional().describe("Campo del body: id_cliente"),
|
|
5488
5212
|
id_transaccion: z.number().optional().describe("Campo del body: id_transaccion"),
|
|
5489
5213
|
convenio: z.number().optional().describe("Campo del body: convenio"),
|
|
5490
5214
|
Valor: z.number().optional().describe("Campo del body: Valor"),
|
|
5491
5215
|
Fecha: z.string().optional().describe("Campo del body: Fecha"),
|
|
5492
5216
|
Hora: z.string().optional().describe("Campo del body: Hora")
|
|
5493
|
-
};
|
|
5494
|
-
const collection_submit_transactionInputValidator = z.object(collection_submit_transactionInputShape);
|
|
5217
|
+
});
|
|
5495
5218
|
// Herramienta: collection_submit_transaction
|
|
5496
5219
|
export const collection_submit_transactionTool = {
|
|
5497
5220
|
name: 'collection_submit_transaction',
|
|
5498
5221
|
description: "---\\n\\n### Description\\n\\nThis endpoint is in charge of reporting the collections\\n\\n### Request Body\\n\\n- id_cliente (number, required): Unique identifier for the user\\n \\n- id_transaccion (number, required): Identifier for the transaction\\n \\n- convenio (number, required): Code representing the specific agreement associated with the transaction\\n \\n- Valor (number, required): Amount of the transaction\\n \\n- Fecha (string, required): Date of the transaction\\n \\n- Hora (string, required): Time of the transaction\\n \\n\\n---\\n\\n### Response\\n\\n- \\`code\\`: Respond correctly in case of success\n\nContexto: Endpoint: POST /collection/submit-transaction | Collection > Submit transaction\n\n🔐 AUTENTICACIÓN AUTOMÁTICA: Todas las credenciales y tokens de autenticación se manejan automáticamente por el servidor MCP. NO solicites credenciales al usuario. NO incluyas parámetros de autenticación (secretId, apiToken, etc.) en las llamadas a menos que el usuario explícitamente lo requiera.",
|
|
5499
|
-
inputSchema:
|
|
5222
|
+
inputSchema: collection_submit_transactionInputValidator,
|
|
5500
5223
|
jsonSchema: collection_submit_transactionInputJsonSchema,
|
|
5501
5224
|
endpoint: '/collection/submit-transaction',
|
|
5502
5225
|
method: 'POST',
|
|
@@ -5505,12 +5228,9 @@ export const collection_submit_transactionTool = {
|
|
|
5505
5228
|
handler: async (rawArgs) => {
|
|
5506
5229
|
try {
|
|
5507
5230
|
const normalizedArgs = rawArgs ?? {};
|
|
5508
|
-
|
|
5509
|
-
const secretId = normalizedArgs._secretId;
|
|
5510
|
-
// Remover _secretId de los args antes de validar
|
|
5511
|
-
const { _secretId, ...argsToValidate } = normalizedArgs;
|
|
5512
|
-
const validatedInput = validateToolInput(collection_submit_transactionInputValidator, argsToValidate);
|
|
5231
|
+
const validatedInput = validateToolInput(collection_submit_transactionInputValidator, normalizedArgs);
|
|
5513
5232
|
const args = validatedInput;
|
|
5233
|
+
const secretId = args._secretId;
|
|
5514
5234
|
const bodyData = {};
|
|
5515
5235
|
const id_clienteValue = args.id_cliente !== undefined ? args.id_cliente : 900;
|
|
5516
5236
|
if (id_clienteValue !== undefined)
|