refacil-commerce-mcp 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +268 -62
- package/dist/core/resources.js +40 -47
- package/dist/core/resources.js.map +1 -1
- package/dist/core/tools.d.ts +4 -5
- package/dist/core/tools.js +54 -139
- package/dist/core/tools.js.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/core/tools.js
CHANGED
|
@@ -608,90 +608,6 @@ export const query_acueducto_de_bogotaTool = {
|
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
610
|
};
|
|
611
|
-
const query_convenio_vendoInputJsonSchema = {
|
|
612
|
-
"type": "object",
|
|
613
|
-
"properties": {
|
|
614
|
-
"productId": {
|
|
615
|
-
"type": "number",
|
|
616
|
-
"description": "Campo del body: productId",
|
|
617
|
-
"default": 1100000
|
|
618
|
-
},
|
|
619
|
-
"queryType": {
|
|
620
|
-
"type": "string",
|
|
621
|
-
"description": "Campo del body: queryType",
|
|
622
|
-
"default": "BILLData"
|
|
623
|
-
},
|
|
624
|
-
"ownAgreementId": {
|
|
625
|
-
"type": "number",
|
|
626
|
-
"description": "Campo del body: ownAgreementId",
|
|
627
|
-
"default": 562
|
|
628
|
-
},
|
|
629
|
-
"data": {
|
|
630
|
-
"type": "object",
|
|
631
|
-
"description": "Campo del body: data",
|
|
632
|
-
"default": {
|
|
633
|
-
"reference": "betagdq"
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
},
|
|
637
|
-
"required": []
|
|
638
|
-
};
|
|
639
|
-
const query_convenio_vendoInputValidator = z.object({
|
|
640
|
-
productId: z.number().optional().describe("Campo del body: productId"),
|
|
641
|
-
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
642
|
-
ownAgreementId: z.number().optional().describe("Campo del body: ownAgreementId"),
|
|
643
|
-
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
644
|
-
});
|
|
645
|
-
// Herramienta: query_convenio_vendo
|
|
646
|
-
export const query_convenio_vendoTool = {
|
|
647
|
-
name: 'query_convenio_vendo',
|
|
648
|
-
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.",
|
|
649
|
-
inputSchema: query_convenio_vendoInputValidator,
|
|
650
|
-
jsonSchema: query_convenio_vendoInputJsonSchema,
|
|
651
|
-
endpoint: '/product/query',
|
|
652
|
-
method: 'POST',
|
|
653
|
-
parameters: [],
|
|
654
|
-
headers: [{ "key": "x-origin-commerce", "value": "pay", "disabled": true }, { "key": "Authorization", "value": "Bearer {{tokenLogin}}" }],
|
|
655
|
-
handler: async (rawArgs) => {
|
|
656
|
-
try {
|
|
657
|
-
const normalizedArgs = rawArgs ?? {};
|
|
658
|
-
const validatedInput = validateToolInput(query_convenio_vendoInputValidator, normalizedArgs);
|
|
659
|
-
const args = validatedInput;
|
|
660
|
-
const bodyData = {};
|
|
661
|
-
const productIdValue = args.productId !== undefined ? args.productId : 1100000;
|
|
662
|
-
if (productIdValue !== undefined)
|
|
663
|
-
bodyData.productId = productIdValue;
|
|
664
|
-
const queryTypeValue = args.queryType !== undefined ? args.queryType : "BILLData";
|
|
665
|
-
if (queryTypeValue !== undefined)
|
|
666
|
-
bodyData.queryType = queryTypeValue;
|
|
667
|
-
const ownAgreementIdValue = args.ownAgreementId !== undefined ? args.ownAgreementId : 562;
|
|
668
|
-
if (ownAgreementIdValue !== undefined)
|
|
669
|
-
bodyData.ownAgreementId = ownAgreementIdValue;
|
|
670
|
-
const dataValue = args.data !== undefined ? args.data : { "reference": "betagdq" };
|
|
671
|
-
if (dataValue !== undefined)
|
|
672
|
-
bodyData.data = dataValue;
|
|
673
|
-
return await makeApiRequest('POST', '/product/query', bodyData, undefined);
|
|
674
|
-
}
|
|
675
|
-
catch (error) {
|
|
676
|
-
// Formato estándar del protocolo MCP para errores
|
|
677
|
-
return {
|
|
678
|
-
content: [
|
|
679
|
-
{
|
|
680
|
-
type: 'text',
|
|
681
|
-
text: JSON.stringify({
|
|
682
|
-
success: false,
|
|
683
|
-
statusCode: 500,
|
|
684
|
-
data: null,
|
|
685
|
-
message: error instanceof Error ? error.message : 'Error desconocido',
|
|
686
|
-
error: 'HANDLER_ERROR'
|
|
687
|
-
}, null, 2)
|
|
688
|
-
}
|
|
689
|
-
],
|
|
690
|
-
isError: true
|
|
691
|
-
};
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
};
|
|
695
611
|
const queryInputJsonSchema = {
|
|
696
612
|
"type": "object",
|
|
697
613
|
"properties": {
|
|
@@ -728,7 +644,7 @@ const queryInputValidator = z.object({
|
|
|
728
644
|
// Herramienta: query
|
|
729
645
|
export const queryTool = {
|
|
730
646
|
name: 'query',
|
|
731
|
-
description: "**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)
|
|
647
|
+
description: "**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)**.\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 1587 |\\n| queryType | \\\"BILLData\\\" |\\n| data.reference | \\\"63440172\\\" |\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.",
|
|
732
648
|
inputSchema: queryInputValidator,
|
|
733
649
|
jsonSchema: queryInputJsonSchema,
|
|
734
650
|
endpoint: '/product/query',
|
|
@@ -818,7 +734,7 @@ const sells_sellInputValidator = z.object({
|
|
|
818
734
|
// Herramienta: sells_sell
|
|
819
735
|
export const sells_sellTool = {
|
|
820
736
|
name: 'sells_sell',
|
|
821
|
-
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)
|
|
737
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| amount | 9999 |\\n| productId | 1587 |\\n| sellType | \\\"Bill\\\" |\\n| data.agreement | 2010910 |\\n| data.reference | \\\"63440172\\\" |\\n| data.cellphone | \\\"3203550000\\\" |\\n| data.hashEchoData | \\\"eyJhZ3JlZW1lbnRJZCI6MzM3NDMsInJlZmVyZW5jZTEiOiI2MzQ0MDE3MiIsInJlZmVyZW5jZTIiOm51bGwsImFtb3VudCI6OTk5OSwiYWdyZWVtZW50TWVzc2FnZSI6IiIsImFncmVlbWVudENvZGUiOiIwMCIsInJlcXVpcmVzQW1vdW50IjoiMCIsImFkaXRpb25hbFZhbHVlNTRFY28iOiIwMTIzNDU2Nzg5MCIsImFkaXRpb25hbFZhbHVlNjJFY28iOiIxNTE2NTc4OTU1NjM0MjgxNjM4NzM5OTAyMjk1IiwiYWNjb3VudERhdGFBY3JlZGl0ZWQiOiI0NzU3NjY3MjA1ODE2Mzg3Mzk5MDIyOTUyMjc2IiwiYWRkaXRpb25hbENvbXBhbnlDb2RlIjoiMTUxNjU3ODk1NTYzNDI4MjgwNjI4MzcwMTIxMiIsImRhdGUiOiIyMDI2LTAzLTEwIiwidHJhY2UiOjUxMjF9\\\" |\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.",
|
|
822
738
|
inputSchema: sells_sellInputValidator,
|
|
823
739
|
jsonSchema: sells_sellInputJsonSchema,
|
|
824
740
|
endpoint: '/sells/sell',
|
|
@@ -915,7 +831,7 @@ const query_axaInputValidator = z.object({
|
|
|
915
831
|
// Herramienta: query_axa
|
|
916
832
|
export const query_axaTool = {
|
|
917
833
|
name: 'query_axa',
|
|
918
|
-
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
|
|
834
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| queryType | \\\"SOATData\\\" |\\n| productId | 91 |\\n| docType | \\\"NIT\\\" |\\n| document | \\\"819000939\\\" |\\n| cellphone | \\\"3200000000\\\" |\\n| license | \\\"NAC854\\\" |\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.",
|
|
919
835
|
inputSchema: query_axaInputValidator,
|
|
920
836
|
jsonSchema: query_axaInputJsonSchema,
|
|
921
837
|
endpoint: '/product/query',
|
|
@@ -1024,7 +940,7 @@ const sell_axaInputValidator = z.object({
|
|
|
1024
940
|
// Herramienta: sell_axa
|
|
1025
941
|
export const sell_axaTool = {
|
|
1026
942
|
name: 'sell_axa',
|
|
1027
|
-
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
|
|
943
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 91 |\\n| amount | 557400 |\\n| data.amount.amount | 556400 |\\n| data.amount.runt | 2100 |\\n| data.amount.prima | 364700 |\\n| data.amount.contributions | 189600 |\\n| data.amount.valueDiscountLaw | 0 |\\n| data.amount.valueDiscountTotal | 0 |\\n| data.amount.valuePayDiscount | 556400 |\\n| data.amount.amountAdministrative | 566 |\\n| data.amount.amountTotal | 557400 |\\n| data.amount.dateStart | \\\"2024-06-04\\\" |\\n| data.amount.dateEnd | \\\"2025-06-03\\\" |\\n| data.amount.discount | 0 |\\n| data.license | \\\"EJV885\\\" |\\n| data.hashEchoData | \\\"eyJpZFRyYW5zYWNjaW9uIjoiMmE2MDhjY2YtZjdiOS00ZGM1LTg2OTQtYTAyY2E0ODNkOWE4IiwiaWRDb3JyZWxhY2lvbiI6MTcxNzUzNDY0MTc1MH0=\\\" |\\n| data.cifrateAmount.hash | \\\"eyJhbW91bnQiOjU1NzQwMH0=\\\" |\\n| data.cifrateAmount.hashEchoData | \\\"ef3e40f13fa0430eb1dfa9a8e499e3a4ea81c42159b5ee3eccac88d8ef47198e32d28339fcf656704009a0b05802363b3016d921bcfd6aa8920558535aa75218\\\" |\\n| data.userDetail.cellphone | \\\"3200000000\\\" |\\n| data.userDetail.email | \\\"test@email.com\\\" |\\n| data.userDetail.document | \\\"860002964\\\" |\\n| data.userDetail.docType | \\\"NIT\\\" |\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.",
|
|
1028
944
|
inputSchema: sell_axaInputValidator,
|
|
1029
945
|
jsonSchema: sell_axaInputJsonSchema,
|
|
1030
946
|
endpoint: '/sells/sell',
|
|
@@ -1431,7 +1347,7 @@ const sell_luck_and_chance_rushbetInputValidator = z.object({
|
|
|
1431
1347
|
// Herramienta: sell_luck_and_chance_rushbet
|
|
1432
1348
|
export const sell_luck_and_chance_rushbetTool = {
|
|
1433
1349
|
name: 'sell_luck_and_chance_rushbet',
|
|
1434
|
-
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)
|
|
1350
|
+
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)**.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the payment amount (required)\\n \\n- \\`data\\`: Object containing additional transaction data (required)\\n \\n - \\`cellphone\\`: String containing the customer\\'s cellphone number (required)\\n \\n - \\`document\\`: String containing the customer\\'s identification document number (required)\\n \\n - \\`name\\`: String containing the customer\\'s first name (required)\\n \\n - \\`lastname\\`: String containing the customer\\'s last name (required)\\n \\n\\n---\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 603 |\\n| amount | 100 |\\n| data.cellphone | \\\"3200000000\\\" |\\n| data.document | \\\"1023900000\\\" |\\n| data.name | \\\"Pachito\\\" |\\n| data.lastname | \\\"Hernesto\\\" |\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.",
|
|
1435
1351
|
inputSchema: sell_luck_and_chance_rushbetInputValidator,
|
|
1436
1352
|
jsonSchema: sell_luck_and_chance_rushbetInputJsonSchema,
|
|
1437
1353
|
endpoint: '/sells/sell',
|
|
@@ -1522,7 +1438,7 @@ const sell_packages_claroInputValidator = z.object({
|
|
|
1522
1438
|
// Herramienta: sell_packages_claro
|
|
1523
1439
|
export const sell_packages_claroTool = {
|
|
1524
1440
|
name: 'sell_packages_claro',
|
|
1525
|
-
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)
|
|
1441
|
+
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)**.\\n\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`data\\`: Object containing additional transaction data (required)\\n \\n - \\`cellphone\\`: String containing the customer\\'s cellphone number (required)\\n \\n\\n---\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---|\\n| productId | 200048 |\\n| data.cellphone | \\\"3215302000\\\" |\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.",
|
|
1526
1442
|
inputSchema: sell_packages_claroInputValidator,
|
|
1527
1443
|
jsonSchema: sell_packages_claroInputJsonSchema,
|
|
1528
1444
|
endpoint: '/sells/sell',
|
|
@@ -1597,7 +1513,7 @@ const product_directtv_prepagoInputValidator = z.object({
|
|
|
1597
1513
|
// Herramienta: product_directtv_prepago
|
|
1598
1514
|
export const product_directtv_prepagoTool = {
|
|
1599
1515
|
name: 'product_directtv_prepago',
|
|
1600
|
-
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)
|
|
1516
|
+
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)**.\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 50 |\\n| amount | 1000 |\\n| data.cellphone | \\\"3015874044\\\" |\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.",
|
|
1601
1517
|
inputSchema: product_directtv_prepagoInputValidator,
|
|
1602
1518
|
jsonSchema: product_directtv_prepagoInputJsonSchema,
|
|
1603
1519
|
endpoint: '/sells/sell',
|
|
@@ -1673,7 +1589,7 @@ const sell_netflixInputValidator = z.object({
|
|
|
1673
1589
|
// Herramienta: sell_netflix
|
|
1674
1590
|
export const sell_netflixTool = {
|
|
1675
1591
|
name: 'sell_netflix',
|
|
1676
|
-
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)
|
|
1592
|
+
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\\n**Important:** This response will be returned within a timeout of **60,000 milliseconds (60 seconds)**.\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 202 |\\n| amount | 50 |\\n| data.cellphone | \\\"3015874029\\\" |\\n| data.email | \\\"correo@refacil.com\\\" |\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.",
|
|
1677
1593
|
inputSchema: sell_netflixInputValidator,
|
|
1678
1594
|
jsonSchema: sell_netflixInputJsonSchema,
|
|
1679
1595
|
endpoint: '/sells/sell',
|
|
@@ -1743,7 +1659,7 @@ const product_directtv_go_1014005InputValidator = z.object({
|
|
|
1743
1659
|
// Herramienta: product_directtv_go_1014005
|
|
1744
1660
|
export const product_directtv_go_1014005Tool = {
|
|
1745
1661
|
name: 'product_directtv_go_1014005',
|
|
1746
|
-
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)
|
|
1662
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 1014005 |\\n| data.cellphone | \\\"3104784242\\\" |\\n| data.email | \\\"fake@refacil.com\\\" |\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.",
|
|
1747
1663
|
inputSchema: product_directtv_go_1014005InputValidator,
|
|
1748
1664
|
jsonSchema: product_directtv_go_1014005InputJsonSchema,
|
|
1749
1665
|
endpoint: '/sells/sell',
|
|
@@ -1810,7 +1726,7 @@ const product_directtv_go_100777InputValidator = z.object({
|
|
|
1810
1726
|
// Herramienta: product_directtv_go_100777
|
|
1811
1727
|
export const product_directtv_go_100777Tool = {
|
|
1812
1728
|
name: 'product_directtv_go_100777',
|
|
1813
|
-
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)
|
|
1729
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 100777 |\\n| data.cellphone | \\\"3104784242\\\" |\\n| data.email | \\\"fake@refacil.com\\\" |\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.",
|
|
1814
1730
|
inputSchema: product_directtv_go_100777InputValidator,
|
|
1815
1731
|
jsonSchema: product_directtv_go_100777InputJsonSchema,
|
|
1816
1732
|
endpoint: '/sells/sell',
|
|
@@ -1877,7 +1793,7 @@ const product_directtv_go_1014004InputValidator = z.object({
|
|
|
1877
1793
|
// Herramienta: product_directtv_go_1014004
|
|
1878
1794
|
export const product_directtv_go_1014004Tool = {
|
|
1879
1795
|
name: 'product_directtv_go_1014004',
|
|
1880
|
-
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)
|
|
1796
|
+
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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 1014004 |\\n| data.cellphone | \\\"3104784242\\\" |\\n| data.email | \\\"fake@refacil.com\\\" |\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.",
|
|
1881
1797
|
inputSchema: product_directtv_go_1014004InputValidator,
|
|
1882
1798
|
jsonSchema: product_directtv_go_1014004InputJsonSchema,
|
|
1883
1799
|
endpoint: '/sells/sell',
|
|
@@ -1918,7 +1834,7 @@ export const product_directtv_go_1014004Tool = {
|
|
|
1918
1834
|
}
|
|
1919
1835
|
}
|
|
1920
1836
|
};
|
|
1921
|
-
const
|
|
1837
|
+
const query_24InputJsonSchema = {
|
|
1922
1838
|
"type": "object",
|
|
1923
1839
|
"properties": {
|
|
1924
1840
|
"queryType": {
|
|
@@ -1945,18 +1861,18 @@ const query_25InputJsonSchema = {
|
|
|
1945
1861
|
},
|
|
1946
1862
|
"required": []
|
|
1947
1863
|
};
|
|
1948
|
-
const
|
|
1864
|
+
const query_24InputValidator = z.object({
|
|
1949
1865
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
1950
1866
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
1951
1867
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
1952
1868
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId")
|
|
1953
1869
|
});
|
|
1954
|
-
// Herramienta:
|
|
1955
|
-
export const
|
|
1956
|
-
name: '
|
|
1957
|
-
description: "---\\n\\n# Query Product\\n\\n---\\n\\n### Description\\n\\nPerforms the pre-sale query for **PIN flows**, obtaining data such as reference, hash, and amount associated with the PIN purchase. The returned \\`hashEchoData\\` value must be forwarded in the subsequent sell request when completing the PIN transaction. If the response contains only one of the two hash fields, the API automatically mirrors it to the other.\\n\\nIf the request fails with the errorCode \\`product.errors.disabled\\` or a similar code indicating that the product is inactive, the agreements must be consulted again using the search service.\\n\\n---\\n\\n### Request Body\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product to query.\\n \\n- **\\`queryType\\`** (string) **required** – Type of query associated with the PIN flow. \\n Example: \\`ConfirmData\\`. Min length: 1.\\n \\n- **\\`data\\`** (object) **required** – Specific provider data for the PIN flow.\\n \\n - **\\`reference\\`** (string) **required** – Reference associated with the PIN transaction.\\n \\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the PIN transaction.\\n \\n - **\\`amount\\`** (number) **required** – Amount of the PIN purchase.\\n \\n - **\\`carrierId\\`** (number) **required** – Identifier of the carrier/operator. \\n This field **must have the same value as** **\\`productId\\`**.\\n \\n\\n---\\n\\n### Error Codes\\n\\n| HTTP | \\`errorCode\\` | Message | Condition |\\n| --- | --- | --- | --- |\\n| 400 | \\`validators.productId.number\\` | \\`El campo productId debe ser de tipo Numerico\\` | \\`productId\\` is absent or not numeric |\\n| 400 | \\`validators.queryType.required\\` | \\`El campo queryType es obligatorio.\\` | \\`queryType\\` is absent |\\n| 400 | \\`validators.queryType.isString\\` | \\`El campo queryType debe ser de tipo string\\` | \\`queryType\\` is not a string |\\n| 400 | \\`validators.queryType.isNotEmpty\\` | \\`El campo queryType no puede estar vacío.\\` | \\`queryType\\` is empty or whitespace-only |\\n| 400 | — | \\`data must be an object\\` | \\`data\\` is present but not an object |\\n| 400 | — | \\`ownAgreementId must be a number\\` | \\`ownAgreementId\\` is present but not a number |\\n| 404 | \\`products.errors.notFound\\` / \\`product.not.found\\` | \\`Producto no encontrado\\` | Product does not exist or is unavailable |\\n| 404 | \\`products.errors.disabled\\` | \\`Producto deshabilitado\\` | Product is disabled — re-fetch agreements using the search service |\\n| 404 | \\`products.errors.providers.notFound\\` | \\`El producto no tiene un proveedor.\\` | No provider associated with the product |\\n| 400 | \\`products.errors.metadata.invalid\\` | \\`Los metadatos del convenio no tienen un formato válido\\` | Agreement metadata is invalid |\\n| 400 | \\`overdue.reference\\` | \\`Esta referencia ya se encuentra vencida.\\` | Reference is overdue — do not retry with same reference |\\n| 400 | \\`closed.reference\\` | \\`Esta referencia ya se encuentra cerrada.\\` | Reference is closed |\\n| 401 | \\`error.auth.failed\\` | \\`Error en la autenticación\\` | Invalid or expired authentication token. Re-authenticate and retry the request. |\\n\\n**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)
|
|
1958
|
-
inputSchema:
|
|
1959
|
-
jsonSchema:
|
|
1870
|
+
// Herramienta: query_24
|
|
1871
|
+
export const query_24Tool = {
|
|
1872
|
+
name: 'query_24',
|
|
1873
|
+
description: "---\\n\\n# Query Product\\n\\n---\\n\\n### Description\\n\\nPerforms the pre-sale query for **PIN flows**, obtaining data such as reference, hash, and amount associated with the PIN purchase. The returned \\`hashEchoData\\` value must be forwarded in the subsequent sell request when completing the PIN transaction. If the response contains only one of the two hash fields, the API automatically mirrors it to the other.\\n\\nIf the request fails with the errorCode \\`product.errors.disabled\\` or a similar code indicating that the product is inactive, the agreements must be consulted again using the search service.\\n\\n---\\n\\n### Request Body\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product to query.\\n \\n- **\\`queryType\\`** (string) **required** – Type of query associated with the PIN flow. \\n Example: \\`ConfirmData\\`. Min length: 1.\\n \\n- **\\`data\\`** (object) **required** – Specific provider data for the PIN flow.\\n \\n - **\\`reference\\`** (string) **required** – Reference associated with the PIN transaction.\\n \\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the PIN transaction.\\n \\n - **\\`amount\\`** (number) **required** – Amount of the PIN purchase.\\n \\n - **\\`carrierId\\`** (number) **required** – Identifier of the carrier/operator. \\n This field **must have the same value as** **\\`productId\\`**.\\n \\n\\n---\\n\\n### Error Codes\\n\\n| HTTP | \\`errorCode\\` | Message | Condition |\\n| --- | --- | --- | --- |\\n| 400 | \\`validators.productId.number\\` | \\`El campo productId debe ser de tipo Numerico\\` | \\`productId\\` is absent or not numeric |\\n| 400 | \\`validators.queryType.required\\` | \\`El campo queryType es obligatorio.\\` | \\`queryType\\` is absent |\\n| 400 | \\`validators.queryType.isString\\` | \\`El campo queryType debe ser de tipo string\\` | \\`queryType\\` is not a string |\\n| 400 | \\`validators.queryType.isNotEmpty\\` | \\`El campo queryType no puede estar vacío.\\` | \\`queryType\\` is empty or whitespace-only |\\n| 400 | — | \\`data must be an object\\` | \\`data\\` is present but not an object |\\n| 400 | — | \\`ownAgreementId must be a number\\` | \\`ownAgreementId\\` is present but not a number |\\n| 404 | \\`products.errors.notFound\\` / \\`product.not.found\\` | \\`Producto no encontrado\\` | Product does not exist or is unavailable |\\n| 404 | \\`products.errors.disabled\\` | \\`Producto deshabilitado\\` | Product is disabled — re-fetch agreements using the search service |\\n| 404 | \\`products.errors.providers.notFound\\` | \\`El producto no tiene un proveedor.\\` | No provider associated with the product |\\n| 400 | \\`products.errors.metadata.invalid\\` | \\`Los metadatos del convenio no tienen un formato válido\\` | Agreement metadata is invalid |\\n| 400 | \\`overdue.reference\\` | \\`Esta referencia ya se encuentra vencida.\\` | Reference is overdue — do not retry with same reference |\\n| 400 | \\`closed.reference\\` | \\`Esta referencia ya se encuentra cerrada.\\` | Reference is closed |\\n| 401 | \\`error.auth.failed\\` | \\`Error en la autenticación\\` | Invalid or expired authentication token. Re-authenticate and retry the request. |\\n\\n**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)**.\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| queryType | \\\"ConfirmData\\\" |\\n| productId | 231 |\\n| data.carrierId | 231 |\\n| data.cellphone | \\\"3203550000\\\" |\\n| data.amount | 10000 |\\n| data.reference | \\\"1234567\\\" |\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.",
|
|
1874
|
+
inputSchema: query_24InputValidator,
|
|
1875
|
+
jsonSchema: query_24InputJsonSchema,
|
|
1960
1876
|
endpoint: '/product/query',
|
|
1961
1877
|
method: 'POST',
|
|
1962
1878
|
parameters: [],
|
|
@@ -1964,7 +1880,7 @@ export const query_25Tool = {
|
|
|
1964
1880
|
handler: async (rawArgs) => {
|
|
1965
1881
|
try {
|
|
1966
1882
|
const normalizedArgs = rawArgs ?? {};
|
|
1967
|
-
const validatedInput = validateToolInput(
|
|
1883
|
+
const validatedInput = validateToolInput(query_24InputValidator, normalizedArgs);
|
|
1968
1884
|
const args = validatedInput;
|
|
1969
1885
|
const bodyData = {};
|
|
1970
1886
|
const queryTypeValue = args.queryType !== undefined ? args.queryType : "BILLData";
|
|
@@ -2044,7 +1960,7 @@ const sellInputValidator = z.object({
|
|
|
2044
1960
|
// Herramienta: sell
|
|
2045
1961
|
export const sellTool = {
|
|
2046
1962
|
name: 'sell',
|
|
2047
|
-
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### Request Schema\\n\\n- **\\`productId\\`**: Number representing the product identifier (**required**).\\n- **\\`amount\\`**: Number representing the amount of the payment. **Minimum value: 10,000** (**required**).\\n- **\\`data\\`**: Object containing additional data (**required**):\\n - **\\`plan\\`**: String that identifies the type of plan for the payment (**required**). \\n The value must indicate whether the plan includes public lighting or not:\\n - \\`AP\\`: Plan **with** public lighting (_Alumbrado público_).\\n - \\`SP\\`: Plan **without** public lighting (_Sin alumbrado público_).\\n - **\\`reference\\`**: String containing the reference number for the payment (**required**).\\n - **\\`cellphone\\`**: String containing the cellphone number associated with the payment (**required**).\\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)
|
|
1963
|
+
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### Request Schema\\n\\n- **\\`productId\\`**: Number representing the product identifier (**required**).\\n- **\\`amount\\`**: Number representing the amount of the payment. **Minimum value: 10,000** (**required**).\\n- **\\`data\\`**: Object containing additional data (**required**):\\n - **\\`plan\\`**: String that identifies the type of plan for the payment (**required**). \\n The value must indicate whether the plan includes public lighting or not:\\n - \\`AP\\`: Plan **with** public lighting (_Alumbrado público_).\\n - \\`SP\\`: Plan **without** public lighting (_Sin alumbrado público_).\\n - **\\`reference\\`**: String containing the reference number for the payment (**required**).\\n - **\\`cellphone\\`**: String containing the cellphone number associated with the payment (**required**).\\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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 231 |\\n| amount | 10000 |\\n| data.plan | \\\"AP\\\" |\\n| data.reference | \\\"1234567\\\" |\\n| data.cellphone | \\\"3203550000\\\" |\\n| data.hashEchoData | \\\"eyJub21icmVfY2xpZW50ZSI6IkVMU1kgU0VyVklDRSIsImRpcmVjY2lvbiI6IlVSQiBWSUxMQSBWSUNUT1JJQSBDQVNBIDEwMyAtIFNBTiBNQVJUSU4iLCJkbmlfY2xpZW50ZSI6IjM5MDIyMDMxIiwiY29udHJhdG8iOiIxMjM0NTY3IiwidmFsb3JfdmVudGEiOiIxMDAwMCIsInBsYW4iOiIiLCJ0eXBlIjoiIn0=\\\" |\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.",
|
|
2048
1964
|
inputSchema: sellInputValidator,
|
|
2049
1965
|
jsonSchema: sellInputJsonSchema,
|
|
2050
1966
|
endpoint: '/sells/sell',
|
|
@@ -2090,7 +2006,7 @@ export const sellTool = {
|
|
|
2090
2006
|
}
|
|
2091
2007
|
}
|
|
2092
2008
|
};
|
|
2093
|
-
const
|
|
2009
|
+
const query_26InputJsonSchema = {
|
|
2094
2010
|
"type": "object",
|
|
2095
2011
|
"properties": {
|
|
2096
2012
|
"queryType": {
|
|
@@ -2117,18 +2033,18 @@ const query_27InputJsonSchema = {
|
|
|
2117
2033
|
},
|
|
2118
2034
|
"required": []
|
|
2119
2035
|
};
|
|
2120
|
-
const
|
|
2036
|
+
const query_26InputValidator = z.object({
|
|
2121
2037
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2122
2038
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2123
2039
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
2124
2040
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId")
|
|
2125
2041
|
});
|
|
2126
|
-
// Herramienta:
|
|
2127
|
-
export const
|
|
2128
|
-
name: '
|
|
2129
|
-
description: "---\\n\\n# Query Product\\n\\n---\\n\\n### Description\\n\\nPerforms the pre-sale query for **PIN flows**, obtaining data such as reference, hash, and amount associated with the PIN purchase. The returned \\`hashEchoData\\` value must be forwarded in the subsequent sell request when completing the PIN transaction. If the response contains only one of the two hash fields, the API automatically mirrors it to the other.\\n\\nIf the request fails with the errorCode \\`product.errors.disabled\\` or a similar code indicating that the product is inactive, the agreements must be consulted again using the search service.\\n\\n---\\n\\n### Request Body\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product to query.\\n \\n- **\\`queryType\\`** (string) **required** – Type of query associated with the PIN flow. \\n Example: \\`ConfirmData\\`. Min length: 1.\\n \\n- **\\`data\\`** (object) **required** – Specific provider data for the PIN flow.\\n \\n - **\\`reference\\`** (string) **required** – Reference associated with the PIN transaction.\\n \\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the PIN transaction.\\n \\n - **\\`amount\\`** (number) **required** – Amount of the PIN purchase.\\n \\n - **\\`carrierId\\`** (number) **required** – Identifier of the carrier/operator. \\n This field **must have the same value as** **\\`productId\\`**.\\n \\n - **\\`plan\\`** (string) **required** – Identifies the type of plan associated with the transaction. \\n Allowed values:\\n - \\`AP\\`: Plan with public lighting (_Alumbrado público_).\\n \\n - \\`SP\\`: Plan without public lighting (_Sin alumbrado público_).\\n \\n - **\\`type\\`** (string) **required** – Identifies the type of payment. \\n Allowed values:\\n - \\`PT\\`: Total payment (_Pago Total_).\\n \\n - \\`PM\\`: Minimum payment (_Pago Mínimo_).\\n \\n\\n---\\n\\n### Error Codes\\n\\n| HTTP | \\`errorCode\\` | Message | Condition |\\n| --- | --- | --- | --- |\\n| 400 | \\`validators.productId.number\\` | \\`El campo productId debe ser de tipo Numerico\\` | \\`productId\\` is absent or not numeric |\\n| 400 | \\`validators.queryType.required\\` | \\`El campo queryType es obligatorio.\\` | \\`queryType\\` is absent |\\n| 400 | \\`validators.queryType.isString\\` | \\`El campo queryType debe ser de tipo string\\` | \\`queryType\\` is not a string |\\n| 400 | \\`validators.queryType.isNotEmpty\\` | \\`El campo queryType no puede estar vacío.\\` | \\`queryType\\` is empty or whitespace-only |\\n| 400 | — | \\`data must be an object\\` | \\`data\\` is present but not an object |\\n| 400 | — | \\`ownAgreementId must be a number\\` | \\`ownAgreementId\\` is present but not a number |\\n| 404 | \\`products.errors.notFound\\` / \\`product.not.found\\` | \\`Producto no encontrado\\` | Product does not exist or is unavailable |\\n| 404 | \\`products.errors.disabled\\` | \\`Producto deshabilitado\\` | Product is disabled — re-fetch agreements using the search service |\\n| 404 | \\`products.errors.providers.notFound\\` | \\`El producto no tiene un proveedor.\\` | No provider associated with the product |\\n| 400 | \\`products.errors.metadata.invalid\\` | \\`Los metadatos del convenio no tienen un formato válido\\` | Agreement metadata is invalid |\\n| 400 | \\`overdue.reference\\` | \\`Esta referencia ya se encuentra vencida.\\` | Reference is overdue — do not retry with same reference |\\n| 400 | \\`closed.reference\\` | \\`Esta referencia ya se encuentra cerrada.\\` | Reference is closed |\\n| 401 | \\`error.auth.failed\\` | \\`Error en la autenticación\\` | Invalid or expired authentication token. Re-authenticate and retry the request. |\\n\\n**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)
|
|
2130
|
-
inputSchema:
|
|
2131
|
-
jsonSchema:
|
|
2042
|
+
// Herramienta: query_26
|
|
2043
|
+
export const query_26Tool = {
|
|
2044
|
+
name: 'query_26',
|
|
2045
|
+
description: "---\\n\\n# Query Product\\n\\n---\\n\\n### Description\\n\\nPerforms the pre-sale query for **PIN flows**, obtaining data such as reference, hash, and amount associated with the PIN purchase. The returned \\`hashEchoData\\` value must be forwarded in the subsequent sell request when completing the PIN transaction. If the response contains only one of the two hash fields, the API automatically mirrors it to the other.\\n\\nIf the request fails with the errorCode \\`product.errors.disabled\\` or a similar code indicating that the product is inactive, the agreements must be consulted again using the search service.\\n\\n---\\n\\n### Request Body\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product to query.\\n \\n- **\\`queryType\\`** (string) **required** – Type of query associated with the PIN flow. \\n Example: \\`ConfirmData\\`. Min length: 1.\\n \\n- **\\`data\\`** (object) **required** – Specific provider data for the PIN flow.\\n \\n - **\\`reference\\`** (string) **required** – Reference associated with the PIN transaction.\\n \\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the PIN transaction.\\n \\n - **\\`amount\\`** (number) **required** – Amount of the PIN purchase.\\n \\n - **\\`carrierId\\`** (number) **required** – Identifier of the carrier/operator. \\n This field **must have the same value as** **\\`productId\\`**.\\n \\n - **\\`plan\\`** (string) **required** – Identifies the type of plan associated with the transaction. \\n Allowed values:\\n - \\`AP\\`: Plan with public lighting (_Alumbrado público_).\\n \\n - \\`SP\\`: Plan without public lighting (_Sin alumbrado público_).\\n \\n - **\\`type\\`** (string) **required** – Identifies the type of payment. \\n Allowed values:\\n - \\`PT\\`: Total payment (_Pago Total_).\\n \\n - \\`PM\\`: Minimum payment (_Pago Mínimo_).\\n \\n\\n---\\n\\n### Error Codes\\n\\n| HTTP | \\`errorCode\\` | Message | Condition |\\n| --- | --- | --- | --- |\\n| 400 | \\`validators.productId.number\\` | \\`El campo productId debe ser de tipo Numerico\\` | \\`productId\\` is absent or not numeric |\\n| 400 | \\`validators.queryType.required\\` | \\`El campo queryType es obligatorio.\\` | \\`queryType\\` is absent |\\n| 400 | \\`validators.queryType.isString\\` | \\`El campo queryType debe ser de tipo string\\` | \\`queryType\\` is not a string |\\n| 400 | \\`validators.queryType.isNotEmpty\\` | \\`El campo queryType no puede estar vacío.\\` | \\`queryType\\` is empty or whitespace-only |\\n| 400 | — | \\`data must be an object\\` | \\`data\\` is present but not an object |\\n| 400 | — | \\`ownAgreementId must be a number\\` | \\`ownAgreementId\\` is present but not a number |\\n| 404 | \\`products.errors.notFound\\` / \\`product.not.found\\` | \\`Producto no encontrado\\` | Product does not exist or is unavailable |\\n| 404 | \\`products.errors.disabled\\` | \\`Producto deshabilitado\\` | Product is disabled — re-fetch agreements using the search service |\\n| 404 | \\`products.errors.providers.notFound\\` | \\`El producto no tiene un proveedor.\\` | No provider associated with the product |\\n| 400 | \\`products.errors.metadata.invalid\\` | \\`Los metadatos del convenio no tienen un formato válido\\` | Agreement metadata is invalid |\\n| 400 | \\`overdue.reference\\` | \\`Esta referencia ya se encuentra vencida.\\` | Reference is overdue — do not retry with same reference |\\n| 400 | \\`closed.reference\\` | \\`Esta referencia ya se encuentra cerrada.\\` | Reference is closed |\\n| 401 | \\`error.auth.failed\\` | \\`Error en la autenticación\\` | Invalid or expired authentication token. Re-authenticate and retry the request. |\\n\\n**Important:** This request will be processed within a timeout of **30,000 milliseconds (30 seconds)**.\\n\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| queryType | \\\"ConfirmData\\\" |\\n| productId | 230 |\\n| data.carrierId | 230 |\\n| data.cellphone | \\\"3203550000\\\" |\\n| data.amount | 10000 |\\n| data.reference | \\\"1234567\\\" |\\n| data.plan | \\\"AP\\\" |\\n| data.type | \\\"PT\\\" |\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.",
|
|
2046
|
+
inputSchema: query_26InputValidator,
|
|
2047
|
+
jsonSchema: query_26InputJsonSchema,
|
|
2132
2048
|
endpoint: '/product/query',
|
|
2133
2049
|
method: 'POST',
|
|
2134
2050
|
parameters: [],
|
|
@@ -2136,7 +2052,7 @@ export const query_27Tool = {
|
|
|
2136
2052
|
handler: async (rawArgs) => {
|
|
2137
2053
|
try {
|
|
2138
2054
|
const normalizedArgs = rawArgs ?? {};
|
|
2139
|
-
const validatedInput = validateToolInput(
|
|
2055
|
+
const validatedInput = validateToolInput(query_26InputValidator, normalizedArgs);
|
|
2140
2056
|
const args = validatedInput;
|
|
2141
2057
|
const bodyData = {};
|
|
2142
2058
|
const queryTypeValue = args.queryType !== undefined ? args.queryType : "BILLData";
|
|
@@ -2171,7 +2087,7 @@ export const query_27Tool = {
|
|
|
2171
2087
|
}
|
|
2172
2088
|
}
|
|
2173
2089
|
};
|
|
2174
|
-
const
|
|
2090
|
+
const sell_27InputJsonSchema = {
|
|
2175
2091
|
"type": "object",
|
|
2176
2092
|
"properties": {
|
|
2177
2093
|
"productId": {
|
|
@@ -2206,19 +2122,19 @@ const sell_28InputJsonSchema = {
|
|
|
2206
2122
|
},
|
|
2207
2123
|
"required": []
|
|
2208
2124
|
};
|
|
2209
|
-
const
|
|
2125
|
+
const sell_27InputValidator = z.object({
|
|
2210
2126
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2211
2127
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
2212
2128
|
data: z.record(z.any()).optional().describe("Campo del body: data"),
|
|
2213
2129
|
sellType: z.string().optional().describe("Campo del body: sellType"),
|
|
2214
2130
|
hash: z.string().optional().describe("Campo del body: hash")
|
|
2215
2131
|
});
|
|
2216
|
-
// Herramienta:
|
|
2217
|
-
export const
|
|
2218
|
-
name: '
|
|
2219
|
-
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### Request Schema\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product.\\n \\n- **\\`amount\\`** (number) **required** – Amount of the payment. \\n **Minimum value: 10,000**.\\n \\n- **\\`hash\\`** (string) **required** – Hash value for the operation.\\n \\n- **\\`data\\`** (object) **required** – Additional data for the payment.\\n \\n - **\\`reference\\`** (string) **required** – Reference number for the payment.\\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the payment.\\n - **\\`hashEchoData\\`** (string) **required** – Hash echo data for the operation.\\n - **\\`plan\\`** (string) **required** – Identifies the type of plan associated with the transaction. \\n Allowed values:\\n - \\`AP\\`: Plan with public lighting (_Alumbrado público_).\\n - \\`SP\\`: Plan without public lighting (_Sin alumbrado público_).\\n - **\\`type\\`** (string) **required** – Identifies the type of payment. \\n Allowed values:\\n - \\`PT\\`: Total payment (_Pago Total_).\\n - \\`PM\\`: Minimum payment (_Pago Mínimo_).\\n - **\\`valorAseo\\`** (number) **required** – Cleaning/garbage charge amount associated with the transaction. \\n This value **must be taken from the response of the previous \\`query\\` operation**.\\n - **\\`valorEnergia\\`** (number) **required** – Energy charge amount associated with the transaction. \\n This value **must be taken from the response of the previous \\`query\\` operation**.\\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)
|
|
2220
|
-
inputSchema:
|
|
2221
|
-
jsonSchema:
|
|
2132
|
+
// Herramienta: sell_27
|
|
2133
|
+
export const sell_27Tool = {
|
|
2134
|
+
name: 'sell_27',
|
|
2135
|
+
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### Request Schema\\n\\n- **\\`productId\\`** (number) **required** – Identifier of the product.\\n \\n- **\\`amount\\`** (number) **required** – Amount of the payment. \\n **Minimum value: 10,000**.\\n \\n- **\\`hash\\`** (string) **required** – Hash value for the operation.\\n \\n- **\\`data\\`** (object) **required** – Additional data for the payment.\\n \\n - **\\`reference\\`** (string) **required** – Reference number for the payment.\\n - **\\`cellphone\\`** (string) **required** – Cellphone number associated with the payment.\\n - **\\`hashEchoData\\`** (string) **required** – Hash echo data for the operation.\\n - **\\`plan\\`** (string) **required** – Identifies the type of plan associated with the transaction. \\n Allowed values:\\n - \\`AP\\`: Plan with public lighting (_Alumbrado público_).\\n - \\`SP\\`: Plan without public lighting (_Sin alumbrado público_).\\n - **\\`type\\`** (string) **required** – Identifies the type of payment. \\n Allowed values:\\n - \\`PT\\`: Total payment (_Pago Total_).\\n - \\`PM\\`: Minimum payment (_Pago Mínimo_).\\n - **\\`valorAseo\\`** (number) **required** – Cleaning/garbage charge amount associated with the transaction. \\n This value **must be taken from the response of the previous \\`query\\` operation**.\\n - **\\`valorEnergia\\`** (number) **required** – Energy charge amount associated with the transaction. \\n This value **must be taken from the response of the previous \\`query\\` operation**.\\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\\n### Test Data\\n\\nUse the following example values to test this endpoint in the QA environment:\\n\\n| Field | Example Value |\\n|-------|---------------|\\n| productId | 230 |\\n| amount | 10000 |\\n| data.cellphone | \\\"3203550000\\\" |\\n| data.plan | \\\"AP\\\" |\\n| data.reference | \\\"1234567\\\" |\\n| data.type | \\\"PT\\\" |\\n| data.valorAseo | 5000 |\\n| data.valorEnergia | 5000 |\\n| data.hashEchoData | \\\"eyJub21icmVfY2xpZW50ZSI6IkVMU1kgU0VyVklDRSIsImRpcmVjY2lvbiI6IlVSQiBWSUxMQSBWSUNUT1JJQSBDQVNBIDEwMyAtIFNBTiBNQVJUSU4iLCJkbmlfY2xpZW50ZSI6IjM5MDIyMDMxIiwiY29udHJhdG8iOiIxMjM0NTY3IiwidmFsb3JfdmVudGEiOiIxMDAwMCIsInZhbG9yX2FzZW8iOjUwMDAsInZhbG9yX2VuZXJnaWEiOjUwMDAsImNlbHVsYXIiOiIzMjAzNTUwMDAwIiwiaWRDb25maXJtYWNpb24iOiJzZGpha3NkamRqYS1kYXMwZGRhbnNkMDItZnNhZGthc2RrNTYiLCJwbGFuIjoiQVAiLCJ0eXBlIjoiUFQifQ==\\\" |\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.",
|
|
2136
|
+
inputSchema: sell_27InputValidator,
|
|
2137
|
+
jsonSchema: sell_27InputJsonSchema,
|
|
2222
2138
|
endpoint: '/sells/sell',
|
|
2223
2139
|
method: 'POST',
|
|
2224
2140
|
parameters: [],
|
|
@@ -2226,7 +2142,7 @@ export const sell_28Tool = {
|
|
|
2226
2142
|
handler: async (rawArgs) => {
|
|
2227
2143
|
try {
|
|
2228
2144
|
const normalizedArgs = rawArgs ?? {};
|
|
2229
|
-
const validatedInput = validateToolInput(
|
|
2145
|
+
const validatedInput = validateToolInput(sell_27InputValidator, normalizedArgs);
|
|
2230
2146
|
const args = validatedInput;
|
|
2231
2147
|
const bodyData = {};
|
|
2232
2148
|
const productIdValue = args.productId !== undefined ? args.productId : 52683;
|
|
@@ -2262,7 +2178,7 @@ export const sell_28Tool = {
|
|
|
2262
2178
|
}
|
|
2263
2179
|
}
|
|
2264
2180
|
};
|
|
2265
|
-
const
|
|
2181
|
+
const query_28InputJsonSchema = {
|
|
2266
2182
|
"type": "object",
|
|
2267
2183
|
"properties": {
|
|
2268
2184
|
"productId": {
|
|
@@ -2289,18 +2205,18 @@ const query_29InputJsonSchema = {
|
|
|
2289
2205
|
},
|
|
2290
2206
|
"required": []
|
|
2291
2207
|
};
|
|
2292
|
-
const
|
|
2208
|
+
const query_28InputValidator = z.object({
|
|
2293
2209
|
productId: z.number().optional().describe("Campo del body: productId"),
|
|
2294
2210
|
queryType: z.string().optional().describe("Campo del body: queryType"),
|
|
2295
2211
|
ownAgreementId: z.any().optional().describe("Campo del body: ownAgreementId"),
|
|
2296
2212
|
data: z.record(z.any()).optional().describe("Campo del body: data")
|
|
2297
2213
|
});
|
|
2298
|
-
// Herramienta:
|
|
2299
|
-
export const
|
|
2300
|
-
name: '
|
|
2214
|
+
// Herramienta: query_28
|
|
2215
|
+
export const query_28Tool = {
|
|
2216
|
+
name: 'query_28',
|
|
2301
2217
|
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.",
|
|
2302
|
-
inputSchema:
|
|
2303
|
-
jsonSchema:
|
|
2218
|
+
inputSchema: query_28InputValidator,
|
|
2219
|
+
jsonSchema: query_28InputJsonSchema,
|
|
2304
2220
|
endpoint: '/product/query',
|
|
2305
2221
|
method: 'POST',
|
|
2306
2222
|
parameters: [],
|
|
@@ -2308,7 +2224,7 @@ export const query_29Tool = {
|
|
|
2308
2224
|
handler: async (rawArgs) => {
|
|
2309
2225
|
try {
|
|
2310
2226
|
const normalizedArgs = rawArgs ?? {};
|
|
2311
|
-
const validatedInput = validateToolInput(
|
|
2227
|
+
const validatedInput = validateToolInput(query_28InputValidator, normalizedArgs);
|
|
2312
2228
|
const args = validatedInput;
|
|
2313
2229
|
const bodyData = {};
|
|
2314
2230
|
const productIdValue = args.productId !== undefined ? args.productId : 240;
|
|
@@ -2381,7 +2297,7 @@ const sell_transfiya_withdrawalsInputValidator = z.object({
|
|
|
2381
2297
|
// Herramienta: sell_transfiya_withdrawals
|
|
2382
2298
|
export const sell_transfiya_withdrawalsTool = {
|
|
2383
2299
|
name: 'sell_transfiya_withdrawals',
|
|
2384
|
-
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\\n---\\n\\n### Test Phone Numbers\\n\\nUse the following phone numbers to simulate successful or failed withdrawal transactions in the testing environment:\\n\\n| Phone Number | Expected Result |\\n|--------------|----------------|\\n| 3051000090 | Successful |\\n| 3051000080 | Failed |\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.",
|
|
2300
|
+
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\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the transaction amount in cents (required)\\n \\n- \\`webhookUrl\\`: String containing the URL to receive transaction status notifications (required)\\n \\n- \\`data\\`: Object containing additional transaction data (required)\\n \\n - \\`cellphone\\`: String containing the customer\\'s cellphone number (required)\\n \\n - \\`bankName\\`: String containing the target bank name (required)\\n \\n\\n---\\n\\n### Test Phone Numbers\\n\\nUse the following phone numbers to simulate successful or failed withdrawal transactions in the testing environment:\\n\\n| Phone Number | Expected Result |\\n|--------------|----------------|\\n| 3051000090 | Successful |\\n| 3051000080 | Failed |\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.",
|
|
2385
2301
|
inputSchema: sell_transfiya_withdrawalsInputValidator,
|
|
2386
2302
|
jsonSchema: sell_transfiya_withdrawalsInputJsonSchema,
|
|
2387
2303
|
endpoint: '/sells/sell',
|
|
@@ -2466,7 +2382,7 @@ const sell_transfiya_depositsInputValidator = z.object({
|
|
|
2466
2382
|
// Herramienta: sell_transfiya_deposits
|
|
2467
2383
|
export const sell_transfiya_depositsTool = {
|
|
2468
2384
|
name: 'sell_transfiya_deposits',
|
|
2469
|
-
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\\n---\\n\\n### Test Phone Numbers\\n\\nUse the following phone numbers to simulate successful or failed deposit transactions in the testing environment:\\n\\n| Phone Number | Expected Result |\\n|--------------|----------------|\\n| 3051000002 | Successful |\\n| 3002491283 | Failed |\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.",
|
|
2385
|
+
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\\n---\\n\\n## Request Schema\\n\\n- \\`productId\\`: Number representing the product identifier (required)\\n \\n- \\`amount\\`: Number representing the deposit amount in cents (required)\\n \\n- \\`webhookUrl\\`: String containing the URL to receive transaction status notifications (required)\\n \\n- \\`data\\`: Object containing additional transaction data (required)\\n \\n - \\`cellphone\\`: String containing the customer\\'s cellphone number (required)\\n \\n - \\`bankName\\`: String containing the target bank name for the deposit (required)\\n \\n\\n---\\n\\n### Test Phone Numbers\\n\\nUse the following phone numbers to simulate successful or failed deposit transactions in the testing environment:\\n\\n| Phone Number | Expected Result |\\n|--------------|----------------|\\n| 3051000002 | Successful |\\n| 3002491283 | Failed |\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.",
|
|
2470
2386
|
inputSchema: sell_transfiya_depositsInputValidator,
|
|
2471
2387
|
jsonSchema: sell_transfiya_depositsInputJsonSchema,
|
|
2472
2388
|
endpoint: '/sells/sell',
|
|
@@ -2719,7 +2635,6 @@ export const tools = [
|
|
|
2719
2635
|
product_queryTool,
|
|
2720
2636
|
query_claro_telefoniaTool,
|
|
2721
2637
|
query_acueducto_de_bogotaTool,
|
|
2722
|
-
query_convenio_vendoTool,
|
|
2723
2638
|
queryTool,
|
|
2724
2639
|
sells_sellTool,
|
|
2725
2640
|
query_axaTool,
|
|
@@ -2734,11 +2649,11 @@ export const tools = [
|
|
|
2734
2649
|
product_directtv_go_1014005Tool,
|
|
2735
2650
|
product_directtv_go_100777Tool,
|
|
2736
2651
|
product_directtv_go_1014004Tool,
|
|
2737
|
-
|
|
2652
|
+
query_24Tool,
|
|
2738
2653
|
sellTool,
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2654
|
+
query_26Tool,
|
|
2655
|
+
sell_27Tool,
|
|
2656
|
+
query_28Tool,
|
|
2742
2657
|
sell_transfiya_withdrawalsTool,
|
|
2743
2658
|
sell_transfiya_depositsTool,
|
|
2744
2659
|
sells_sale_saleidTool,
|
|
@@ -2749,7 +2664,7 @@ export const toolsConfig = {
|
|
|
2749
2664
|
name: 'refacil-commerce',
|
|
2750
2665
|
description: 'MCP para Refacil Commerce API - Gestión de comercios y compra de productos',
|
|
2751
2666
|
version: '1.0.0',
|
|
2752
|
-
tools:
|
|
2667
|
+
tools: 32
|
|
2753
2668
|
};
|
|
2754
2669
|
// Función para obtener información de las herramientas
|
|
2755
2670
|
export function getToolsInfo() {
|