collection-api-refacil-mcp 1.0.1 → 1.0.2
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/LICENSE +1 -1
- package/README.md +59 -1
- package/dist/core/resources.js +9 -9
- package/dist/core/resources.js.map +1 -1
- package/dist/core/tools.js +65 -5
- package/dist/core/tools.js.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -456,6 +456,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
456
456
|
- **Standard error handling**: predictable codes/messages simplify UX and support.
|
|
457
457
|
- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.
|
|
458
458
|
- **Observability**: traceability via `transactionId` from query to payment.
|
|
459
|
+
- **Multiple payment values**: support for references with multiple payment options via `paymentOrder`.
|
|
459
460
|
|
|
460
461
|
|
|
461
462
|
<img src="https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n" width="752" height="1429">
|
|
@@ -479,6 +480,18 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
479
480
|
| `code` | string | The code related to the bill. |
|
|
480
481
|
| `user_code` | string | The user code related to the bill. |
|
|
481
482
|
| `additional_data` | array | An array of additional data containing label and value pairs. |
|
|
483
|
+
| `paymentOrder` | object | Payment order object containing multiple payment values. This field is optional and will only be present when the reference has multiple payment values configured. When present, the main `amount` field may be optional as the values from `paymentOrder.items` will be used. |
|
|
484
|
+
|
|
485
|
+
#### 📋 PaymentOrder Structure
|
|
486
|
+
|
|
487
|
+
When `paymentOrder` is present in the response, it contains the following structure:
|
|
488
|
+
|
|
489
|
+
| **Field** | **Type** | **Description** |
|
|
490
|
+
| --- | --- | --- |
|
|
491
|
+
| `items` | array | List of available payment values (maximum 10 values). Each item contains: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |
|
|
492
|
+
| `selectionMode` | string | Indicates whether a single value ('single') or multiple values ('multiple') can be selected. |
|
|
493
|
+
|
|
494
|
+
**Note**: When `paymentOrder` is provided in the response, it indicates that the reference supports multiple payment concepts. The client should use the `items` array to present payment options to the user, and then send the selected items in the `paymentOrderItems` field when submitting the transaction via `submitTransaction`.
|
|
482
495
|
|
|
483
496
|
**Parámetros:**
|
|
484
497
|
|
|
@@ -519,6 +532,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
519
532
|
- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.
|
|
520
533
|
- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.
|
|
521
534
|
- **Operational scalability**: async processing absorbs traffic spikes.
|
|
535
|
+
- **Multiple payment items**: support for partial payments or multiple concepts within a single transaction via `paymentOrderItems`.
|
|
522
536
|
|
|
523
537
|
|
|
524
538
|
<img src="https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n" width="960" height="1544">
|
|
@@ -528,12 +542,25 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
528
542
|
| **Field** | **Type** | **Required** | **Description** |
|
|
529
543
|
| --- | --- | --- | --- |
|
|
530
544
|
| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |
|
|
531
|
-
| `
|
|
545
|
+
| `transactionId` | string | ✅ | The transaction ID. |
|
|
532
546
|
| `reference` | string | ✅ | The reference for the transaction. |
|
|
533
547
|
| `amount` | number | ✅ | The amount of the transaction. |
|
|
548
|
+
| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |
|
|
534
549
|
| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |
|
|
535
550
|
| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |
|
|
536
551
|
|
|
552
|
+
#### 📋 PaymentOrderItems Structure
|
|
553
|
+
|
|
554
|
+
When using `paymentOrderItems`, each element in the array must have the following structure:
|
|
555
|
+
|
|
556
|
+
| **Field** | **Type** | **Required** | **Description** |
|
|
557
|
+
| --- | --- | --- | --- |
|
|
558
|
+
| `id` | number | ✅ | Unique numeric identifier for the payment value |
|
|
559
|
+
| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |
|
|
560
|
+
| `amount` | number | ✅ | Numeric value to be paid |
|
|
561
|
+
|
|
562
|
+
**Note**: When `paymentOrderItems` is provided, it allows processing multiple payment concepts or partial payments within a single transaction. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.
|
|
563
|
+
|
|
537
564
|
### 📤 Response Body Parameters
|
|
538
565
|
|
|
539
566
|
| **Field** | **Type** | **Description** |
|
|
@@ -553,6 +580,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
553
580
|
| transactionId | string | Campo del body: transactionId |
|
|
554
581
|
| reference | string | Campo del body: reference |
|
|
555
582
|
| amount | number | Campo del body: amount |
|
|
583
|
+
| paymentOrderItems | array | Campo del body: paymentOrderItems |
|
|
556
584
|
| date | string | Campo del body: date |
|
|
557
585
|
| time | string | Campo del body: time |
|
|
558
586
|
|
|
@@ -586,6 +614,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
586
614
|
- **Risk control**: safe, auditable reversal for external failures/inconsistencies.
|
|
587
615
|
- **Full traceability**: reversal events and contingency log.
|
|
588
616
|
- **Business continuity**: formal channel for emergencies without invasive manual actions.
|
|
617
|
+
- **Multiple payment items support**: allows rollback of transactions with multiple payment concepts via `paymentOrderItems`.
|
|
589
618
|
|
|
590
619
|
<img src="https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n" width="960" height="1805">
|
|
591
620
|
|
|
@@ -597,9 +626,22 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
597
626
|
| `transactionId` | string | ✅ | The transaction ID. |
|
|
598
627
|
| `reference` | string | ✅ | The reference for the transaction. |
|
|
599
628
|
| `amount` | number | ✅ | The amount of the transaction. |
|
|
629
|
+
| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |
|
|
600
630
|
| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |
|
|
601
631
|
| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |
|
|
602
632
|
|
|
633
|
+
#### 📋 PaymentOrderItems Structure
|
|
634
|
+
|
|
635
|
+
When using `paymentOrderItems`, each element in the array must have the following structure:
|
|
636
|
+
|
|
637
|
+
| **Field** | **Type** | **Required** | **Description** |
|
|
638
|
+
| --- | --- | --- | --- |
|
|
639
|
+
| `id` | number | ✅ | Unique numeric identifier for the payment value |
|
|
640
|
+
| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |
|
|
641
|
+
| `amount` | number | ✅ | Numeric value to be paid |
|
|
642
|
+
|
|
643
|
+
**Note**: When `paymentOrderItems` is provided, it allows rollback of transactions with multiple payment concepts. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.
|
|
644
|
+
|
|
603
645
|
#### 📤 Response Body Parameters
|
|
604
646
|
|
|
605
647
|
| **Field** | **Type** | **Description** |
|
|
@@ -619,6 +661,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
619
661
|
| transactionId | string | Campo del body: transactionId |
|
|
620
662
|
| reference | string | Campo del body: reference |
|
|
621
663
|
| amount | number | Campo del body: amount |
|
|
664
|
+
| paymentOrderItems | array | Campo del body: paymentOrderItems |
|
|
622
665
|
| date | string | Campo del body: date |
|
|
623
666
|
| time | string | Campo del body: time |
|
|
624
667
|
|
|
@@ -653,6 +696,7 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
653
696
|
- **Security**: signature/auth validation for trusted origin.
|
|
654
697
|
- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.
|
|
655
698
|
- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.
|
|
699
|
+
- **Multiple payment items**: includes payment order items when transactions involve multiple payment concepts.
|
|
656
700
|
|
|
657
701
|
|
|
658
702
|
### 📥 Request Body Parameters
|
|
@@ -667,6 +711,19 @@ To establish a secure connection with our clients' APIs, we will generate and pr
|
|
|
667
711
|
| updatedAt | string | ✅ | Date and time of last update (format: "YYYY-MM-DD HH:mm:ss") |
|
|
668
712
|
| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |
|
|
669
713
|
| sign | string | ✅ | Security signature to validate message integrity |
|
|
714
|
+
| paymentOrderItems | array | ❌ | Array of payment order items that were processed. This field is optional and will only be present when the transaction included multiple payment concepts. Each item contains: `id` (number, required), `description` (string, required), and `amount` (number, required). |
|
|
715
|
+
|
|
716
|
+
#### 📋 PaymentOrderItems Structure
|
|
717
|
+
|
|
718
|
+
When `paymentOrderItems` is present in the webhook payload, it indicates that the transaction processed multiple payment concepts. The structure matches the items sent in the `submitTransaction` request:
|
|
719
|
+
|
|
720
|
+
| **Field** | **Type** | **Required** | **Description** |
|
|
721
|
+
| --- | --- | --- | --- |
|
|
722
|
+
| `id` | number | ✅ | Unique numeric identifier for the payment value |
|
|
723
|
+
| `description` | string | ✅ | Description of the payment value |
|
|
724
|
+
| `amount` | number | ✅ | Numeric value that was paid |
|
|
725
|
+
|
|
726
|
+
**Note**: When `paymentOrderItems` is present, the `amount` field represents the total sum of all items. Verify that the sum of `paymentOrderItems[].amount` equals the total `amount`.
|
|
670
727
|
|
|
671
728
|
### 📤 Response Body Parameters
|
|
672
729
|
|
|
@@ -701,6 +758,7 @@ signature = crypto.createHmac("sha1", HASH_KEY).update(signature).digest("hex");
|
|
|
701
758
|
| updatedAt | string | Campo del body: updatedAt |
|
|
702
759
|
| status | number | Campo del body: status |
|
|
703
760
|
| sign | string | Campo del body: sign |
|
|
761
|
+
| paymentOrderItems | array | Campo del body: paymentOrderItems |
|
|
704
762
|
|
|
705
763
|
|
|
706
764
|
## 📝 Logs
|
package/dist/core/resources.js
CHANGED
|
@@ -30,7 +30,7 @@ export const resources = [
|
|
|
30
30
|
"name": "Own Network Collection - Documentation",
|
|
31
31
|
"description": "## 📝Recommendations\n\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\n \n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\n \n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\n \n\n## 🔐Authorization\n\nTo establish a secure connection with our clients' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\n\n**Token Format:**\n\n`Authorization: Token {generate_token_value}`\n\n**Example:**\n\n`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**`",
|
|
32
32
|
"mimeType": "text/markdown",
|
|
33
|
-
"content": "# Own Network Collection\n\n## 📝Recommendations\n\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\n \n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\n \n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\n \n\n## 🔐Authorization\n\nTo establish a secure connection with our clients' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\n\n**Token Format:**\n\n`Authorization: Token {generate_token_value}`\n\n**Example:**\n\n`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**`\n\n## Endpoints\n\n### jwt-validate\n\n**Method**: `POST`\n\n**Path**: `/auth/validate`\n\nThis endpoint allows you to validate a JWT token by sending an HTTP POST request to {{base_url}}/auth/validate.\n\n**Base URL:**\n\n| **Enviroment** | **Value** |\n| --- | --- |\n| QA | [https://collection-api.qa.refacil.co](https://collection-api.qa.refacil.co) |\n| PROD | [https://collection-api.refacil.co](https://collection-api.refacil.co) |\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| secretId | string | ✅ | The secret identifier used to validate the token. **This secretId will be shared by us with the client** |\n| token | string | ✅ | The JWT token to be validated |\n\n### 📤 Response body parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | The HTTP status code of the response |\n| message | string | A message indicating the result of the operation |\n| date | number | The timestamp of the response |\n| payload | object | The response payload containing validation results |\n| payload.valid | boolean | Indicates whether the token is valid or not |\n| payload.message | string | A message related to the validation result |\n| payload.data | object | Optional decoded token data if the token is valid |\n\n### ping\n\n**Method**: `GET`\n\n**Path**: `/ping/`\n\nThis endpoint sends an HTTP GET request to {{customer.domain.com}}/ping/ in order to check the availability of the server.\n\n### Benefits 🩺\n\n- **Fail-fast**: detects unavailability before critical operations.\n \n- **SLO-aware**: monitor per-client availability and trigger mitigations.\n \n- **Proactive ops**: enables circuit breakers and routing policies.\n \n\nThe request does not contain a request body.\n\n### Response\n\n- Status: 200\n \n- Body: \"pong\"\n\n### queryBill\n\n**Method**: `POST`\n\n**Path**: `/queryBill/`\n\nThis endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |\n\n### submitTransaction\n\n**Method**: `POST`\n\n**Path**: `/submitTransaction/`\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `trasanctionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message regarding the transaction submission. |\n| `reference` | string | The reference for the submitted transaction. |\n| `amount` | number | The amount of the submitted transaction. |\n| `code` | string | A code related to the transaction. |\n| `user_code` | string | User-specific code related to the transaction. |\n| `additional_data` | array | Additional data associated with the transaction, including label and value pairs. |\n\n### rollbackTransaction\n\n**Method**: `POST`\n\n**Path**: `/rollbackTransaction/`\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\n### webhook\n\n**Method**: `POST`\n\n**Path**: `/webhook/`\n\nThis endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\n"
|
|
33
|
+
"content": "# Own Network Collection\n\n## 📝Recommendations\n\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\n \n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\n \n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\n \n\n## 🔐Authorization\n\nTo establish a secure connection with our clients' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\n\n**Token Format:**\n\n`Authorization: Token {generate_token_value}`\n\n**Example:**\n\n`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**`\n\n## Endpoints\n\n### jwt-validate\n\n**Method**: `POST`\n\n**Path**: `/auth/validate`\n\nThis endpoint allows you to validate a JWT token by sending an HTTP POST request to {{base_url}}/auth/validate.\n\n**Base URL:**\n\n| **Enviroment** | **Value** |\n| --- | --- |\n| QA | [https://collection-api.qa.refacil.co](https://collection-api.qa.refacil.co) |\n| PROD | [https://collection-api.refacil.co](https://collection-api.refacil.co) |\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| secretId | string | ✅ | The secret identifier used to validate the token. **This secretId will be shared by us with the client** |\n| token | string | ✅ | The JWT token to be validated |\n\n### 📤 Response body parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | The HTTP status code of the response |\n| message | string | A message indicating the result of the operation |\n| date | number | The timestamp of the response |\n| payload | object | The response payload containing validation results |\n| payload.valid | boolean | Indicates whether the token is valid or not |\n| payload.message | string | A message related to the validation result |\n| payload.data | object | Optional decoded token data if the token is valid |\n\n### ping\n\n**Method**: `GET`\n\n**Path**: `/ping/`\n\nThis endpoint sends an HTTP GET request to {{customer.domain.com}}/ping/ in order to check the availability of the server.\n\n### Benefits 🩺\n\n- **Fail-fast**: detects unavailability before critical operations.\n \n- **SLO-aware**: monitor per-client availability and trigger mitigations.\n \n- **Proactive ops**: enables circuit breakers and routing policies.\n \n\nThe request does not contain a request body.\n\n### Response\n\n- Status: 200\n \n- Body: \"pong\"\n\n### queryBill\n\n**Method**: `POST`\n\n**Path**: `/queryBill/`\n\nThis endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n- **Multiple payment values**: support for references with multiple payment options via `paymentOrder`.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |\n| `paymentOrder` | object | Payment order object containing multiple payment values. This field is optional and will only be present when the reference has multiple payment values configured. When present, the main `amount` field may be optional as the values from `paymentOrder.items` will be used. |\n\n#### 📋 PaymentOrder Structure\n\nWhen `paymentOrder` is present in the response, it contains the following structure:\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `items` | array | List of available payment values (maximum 10 values). Each item contains: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `selectionMode` | string | Indicates whether a single value ('single') or multiple values ('multiple') can be selected. |\n\n**Note**: When `paymentOrder` is provided in the response, it indicates that the reference supports multiple payment concepts. The client should use the `items` array to present payment options to the user, and then send the selected items in the `paymentOrderItems` field when submitting the transaction via `submitTransaction`.\n\n### submitTransaction\n\n**Method**: `POST`\n\n**Path**: `/submitTransaction/`\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n- **Multiple payment items**: support for partial payments or multiple concepts within a single transaction via `paymentOrderItems`.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows processing multiple payment concepts or partial payments within a single transaction. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message regarding the transaction submission. |\n| `reference` | string | The reference for the submitted transaction. |\n| `amount` | number | The amount of the submitted transaction. |\n| `code` | string | A code related to the transaction. |\n| `user_code` | string | User-specific code related to the transaction. |\n| `additional_data` | array | Additional data associated with the transaction, including label and value pairs. |\n\n### rollbackTransaction\n\n**Method**: `POST`\n\n**Path**: `/rollbackTransaction/`\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n- **Multiple payment items support**: allows rollback of transactions with multiple payment concepts via `paymentOrderItems`.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows rollback of transactions with multiple payment concepts. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\n### webhook\n\n**Method**: `POST`\n\n**Path**: `/webhook/`\n\nThis endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n- **Multiple payment items**: includes payment order items when transactions involve multiple payment concepts.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n| paymentOrderItems | array | ❌ | Array of payment order items that were processed. This field is optional and will only be present when the transaction included multiple payment concepts. Each item contains: `id` (number, required), `description` (string, required), and `amount` (number, required). |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen `paymentOrderItems` is present in the webhook payload, it indicates that the transaction processed multiple payment concepts. The structure matches the items sent in the `submitTransaction` request:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value |\n| `amount` | number | ✅ | Numeric value that was paid |\n\n**Note**: When `paymentOrderItems` is present, the `amount` field represents the total sum of all items. Verify that the sum of `paymentOrderItems[].amount` equals the total `amount`.\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\n"
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
"uri": "postman://collection/refacil-collection-api/endpoint/get/auth/jwt",
|
|
@@ -70,30 +70,30 @@ export const resources = [
|
|
|
70
70
|
{
|
|
71
71
|
"uri": "postman://collection/refacil-collection-api/endpoint/post/querybill",
|
|
72
72
|
"name": "POST /queryBill/ - Endpoint Documentation",
|
|
73
|
-
"description": "This endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |",
|
|
73
|
+
"description": "This endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n- **Multiple payment values**: support for references with multiple payment options via `paymentOrder`.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |\n| `paymentOrder` | object | Payment order object containing multiple payment values. This field is optional and will only be present when the reference has multiple payment values configured. When present, the main `amount` field may be optional as the values from `paymentOrder.items` will be used. |\n\n#### 📋 PaymentOrder Structure\n\nWhen `paymentOrder` is present in the response, it contains the following structure:\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `items` | array | List of available payment values (maximum 10 values). Each item contains: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `selectionMode` | string | Indicates whether a single value ('single') or multiple values ('multiple') can be selected. |\n\n**Note**: When `paymentOrder` is provided in the response, it indicates that the reference supports multiple payment concepts. The client should use the `items` array to present payment options to the user, and then send the selected items in the `paymentOrderItems` field when submitting the transaction via `submitTransaction`.",
|
|
74
74
|
"mimeType": "text/markdown",
|
|
75
|
-
"content": "# queryBill\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/queryBill/`\n\n## Description\n\nThis endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |\n\n## Headers\n\n- **Authorization**: Token {{generate_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"codCustomer\": \"1\",\n \"reference\": \"52851385\",\n \"date\": \"2025-03-16\",\n \"time\": \"15:03:04\"\n}\n```\n\n"
|
|
75
|
+
"content": "# queryBill\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/queryBill/`\n\n## Description\n\nThis endpoint allows you to query a bill by sending an HTTP POST request to `{{customer.domain.com}}/queryBill/`.\n\n### Benefits 🔎\n\n- **Real-time validation**: fresh billing info from the originator.\n- **Standard error handling**: predictable codes/messages simplify UX and support.\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\n- **Observability**: traceability via `transactionId` from query to payment.\n- **Multiple payment values**: support for references with multiple payment options via `paymentOrder`.\n \n\n<img src=\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\" width=\"752\" height=\"1429\">\n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `reference` | string | ✅ | ID of the agreement (company) that is making the payment |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n### **📤 Response body parameters**\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message related to the query. |\n| `reference` | string | The reference of the bill. |\n| `amount` | number | The amount of the bill. |\n| `code` | string | The code related to the bill. |\n| `user_code` | string | The user code related to the bill. |\n| `additional_data` | array | An array of additional data containing label and value pairs. |\n| `paymentOrder` | object | Payment order object containing multiple payment values. This field is optional and will only be present when the reference has multiple payment values configured. When present, the main `amount` field may be optional as the values from `paymentOrder.items` will be used. |\n\n#### 📋 PaymentOrder Structure\n\nWhen `paymentOrder` is present in the response, it contains the following structure:\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `items` | array | List of available payment values (maximum 10 values). Each item contains: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `selectionMode` | string | Indicates whether a single value ('single') or multiple values ('multiple') can be selected. |\n\n**Note**: When `paymentOrder` is provided in the response, it indicates that the reference supports multiple payment concepts. The client should use the `items` array to present payment options to the user, and then send the selected items in the `paymentOrderItems` field when submitting the transaction via `submitTransaction`.\n\n## Headers\n\n- **Authorization**: Token {{generate_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"codCustomer\": \"1\",\n \"reference\": \"52851385\",\n \"date\": \"2025-03-16\",\n \"time\": \"15:03:04\"\n}\n```\n\n"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"uri": "postman://collection/refacil-collection-api/endpoint/post/submittransaction",
|
|
79
79
|
"name": "POST /submitTransaction/ - Endpoint Documentation",
|
|
80
|
-
"description": "This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `
|
|
80
|
+
"description": "This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n- **Multiple payment items**: support for partial payments or multiple concepts within a single transaction via `paymentOrderItems`.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows processing multiple payment concepts or partial payments within a single transaction. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message regarding the transaction submission. |\n| `reference` | string | The reference for the submitted transaction. |\n| `amount` | number | The amount of the submitted transaction. |\n| `code` | string | A code related to the transaction. |\n| `user_code` | string | User-specific code related to the transaction. |\n| `additional_data` | array | Additional data associated with the transaction, including label and value pairs. |",
|
|
81
81
|
"mimeType": "text/markdown",
|
|
82
|
-
"content": "# submitTransaction\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/submitTransaction/`\n\n## Description\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `
|
|
82
|
+
"content": "# submitTransaction\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/submitTransaction/`\n\n## Description\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\n\n### Benefits 💳\n\n- **Transactional idempotency**: `transactionId` avoids double charges on retries/timeouts.\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\n- **Operational scalability**: async processing absorbs traffic spikes.\n- **Multiple payment items**: support for partial payments or multiple concepts within a single transaction via `paymentOrderItems`.\n \n\n<img src=\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\" width=\"960\" height=\"1544\">\n\n### 📥 Request Body Parameters\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows processing multiple payment concepts or partial payments within a single transaction. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message regarding the transaction submission. |\n| `reference` | string | The reference for the submitted transaction. |\n| `amount` | number | The amount of the submitted transaction. |\n| `code` | string | A code related to the transaction. |\n| `user_code` | string | User-specific code related to the transaction. |\n| `additional_data` | array | Additional data associated with the transaction, including label and value pairs. |\n\n## Headers\n\n- **Authorization**: Token {{generate_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"codCustomer\": \"1\",\n \"transactionId\": \"5\",\n \"reference\": \"52851385\",\n \"amount\": 77926,\n \"paymentOrderItems\": [\n {\n \"id\": 1,\n \"description\": \"Factura de servicios\",\n \"amount\": 50000\n },\n {\n \"id\": 2,\n \"description\": \"Multa de tránsito\",\n \"amount\": 27926\n }\n ],\n \"date\": \"2025-03-16\",\n \"time\": \"15:03:04\"\n}\n```\n\n"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
"uri": "postman://collection/refacil-collection-api/endpoint/post/rollbacktransaction",
|
|
86
86
|
"name": "POST /rollbackTransaction/ - Endpoint Documentation",
|
|
87
|
-
"description": "This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |",
|
|
87
|
+
"description": "This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n- **Multiple payment items support**: allows rollback of transactions with multiple payment concepts via `paymentOrderItems`.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows rollback of transactions with multiple payment concepts. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |",
|
|
88
88
|
"mimeType": "text/markdown",
|
|
89
|
-
"content": "# rollbackTransaction\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/rollbackTransaction/`\n\n## Description\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\n## Headers\n\n- **Authorization**: Token {{generate_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"codCustomer\": \"1\",\n \"transactionId\": \"4\",\n \"reference\": \"52851385\",\n \"amount\": 77926,\n \"date\": \"2025-03-16\",\n \"time\": \"15:03:04\"\n}\n```\n\n"
|
|
89
|
+
"content": "# rollbackTransaction\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/rollbackTransaction/`\n\n## Description\n\nThis API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\n\n### Benefits 🔁\n\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\n- **Full traceability**: reversal events and contingency log.\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\n- **Multiple payment items support**: allows rollback of transactions with multiple payment concepts via `paymentOrderItems`.\n\n<img src=\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\" width=\"960\" height=\"1805\">\n\n#### 📥 Request Body Parameters\n\n| Field | Type | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `codCustomer` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\n| `transactionId` | string | ✅ | The transaction ID. |\n| `reference` | string | ✅ | The reference for the transaction. |\n| `amount` | number | ✅ | The amount of the transaction. |\n| `paymentOrderItems` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: `id` (number, required), `description` (string, required, max 50 characters), and `amount` (number, required). |\n| `date` | string | ✅ | Transaction date in format `YYYY-MM-DD` |\n| `time` | string | ✅ | Transaction time in format `HH:mm:ss` (24-hour clock, Bogotá time zone) |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen using `paymentOrderItems`, each element in the array must have the following structure:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value (maximum 50 characters) |\n| `amount` | number | ✅ | Numeric value to be paid |\n\n**Note**: When `paymentOrderItems` is provided, it allows rollback of transactions with multiple payment concepts. The main `amount` field should match the sum of all `amount` values in `paymentOrderItems`.\n\n#### 📤 Response Body Parameters\n\n| **Field** | **Type** | **Description** |\n| --- | --- | --- |\n| `message` | string | A message indicating the status of the rollback process. |\n| `reference` | string | The reference number of the transaction. |\n| `amount` | number | The amount of the transaction. |\n| `code` | string | A status code for the rollback process. |\n| `user_code` | string | A user-specific code related to the rollback process. |\n| `additional_data` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\n## Headers\n\n- **Authorization**: Token {{generate_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"codCustomer\": \"1\",\n \"transactionId\": \"4\",\n \"reference\": \"52851385\",\n \"amount\": 77926,\n \"paymentOrderItems\": [\n {\n \"id\": 1,\n \"description\": \"Factura de servicios\",\n \"amount\": 50000\n },\n {\n \"id\": 2,\n \"description\": \"Multa de tránsito\",\n \"amount\": 27926\n }\n ],\n \"date\": \"2025-03-16\",\n \"time\": \"15:03:04\"\n}\n```\n\n"
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
"uri": "postman://collection/refacil-collection-api/endpoint/post/webhook",
|
|
93
93
|
"name": "POST /webhook/ - Endpoint Documentation",
|
|
94
|
-
"description": "This endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.",
|
|
94
|
+
"description": "This endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n- **Multiple payment items**: includes payment order items when transactions involve multiple payment concepts.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n| paymentOrderItems | array | ❌ | Array of payment order items that were processed. This field is optional and will only be present when the transaction included multiple payment concepts. Each item contains: `id` (number, required), `description` (string, required), and `amount` (number, required). |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen `paymentOrderItems` is present in the webhook payload, it indicates that the transaction processed multiple payment concepts. The structure matches the items sent in the `submitTransaction` request:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value |\n| `amount` | number | ✅ | Numeric value that was paid |\n\n**Note**: When `paymentOrderItems` is present, the `amount` field represents the total sum of all items. Verify that the sum of `paymentOrderItems[].amount` equals the total `amount`.\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.",
|
|
95
95
|
"mimeType": "text/markdown",
|
|
96
|
-
"content": "# webhook\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/webhook/`\n\n## Description\n\nThis endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\n## Headers\n\n- **Authorization**: Token {{customer_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"realAmount\": 2500,\n \"amount\": 2400,\n \"cost\": \"100\",\n \"referenceId\": \"1769505\",\n \"customerReference\": \"REF10000016\",\n \"updatedAt\": \"2025-07-31 10:21:57\",\n \"status\": 2,\n \"sign\": \"0ef1c3c2fa48121ee51f225270194f7fb62e2892\"\n}\n```\n\n"
|
|
96
|
+
"content": "# webhook\n\n## Request Details\n\n**Method**: `POST`\n\n**Path**: `/webhook/`\n\n## Description\n\nThis endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\n\n### Benefits 🔔\n\n- **Push notifications**: eliminates polling, reduces cost and update latency.\n- **Security**: signature/auth validation for trusted origin.\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\n- **Multiple payment items**: includes payment order items when transactions involve multiple payment concepts.\n \n\n### 📥 Request Body Parameters\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| realAmount | number | ✅ | Real transaction amount (without costs) |\n| amount | number | ✅ | Total transaction amount (including costs) |\n| cost | string | ✅ | Total transaction cost |\n| referenceId | string | ✅ | Unique transaction identifier |\n| customerReference | string | ✅ | Customer reference provided during the transaction |\n| updatedAt | string | ✅ | Date and time of last update (format: \"YYYY-MM-DD HH:mm:ss\") |\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\n| sign | string | ✅ | Security signature to validate message integrity |\n| paymentOrderItems | array | ❌ | Array of payment order items that were processed. This field is optional and will only be present when the transaction included multiple payment concepts. Each item contains: `id` (number, required), `description` (string, required), and `amount` (number, required). |\n\n#### 📋 PaymentOrderItems Structure\n\nWhen `paymentOrderItems` is present in the webhook payload, it indicates that the transaction processed multiple payment concepts. The structure matches the items sent in the `submitTransaction` request:\n\n| **Field** | **Type** | **Required** | **Description** |\n| --- | --- | --- | --- |\n| `id` | number | ✅ | Unique numeric identifier for the payment value |\n| `description` | string | ✅ | Description of the payment value |\n| `amount` | number | ✅ | Numeric value that was paid |\n\n**Note**: When `paymentOrderItems` is present, the `amount` field represents the total sum of all items. Verify that the sum of `paymentOrderItems[].amount` equals the total `amount`.\n\n### 📤 Response Body Parameters\n\n| Field | Type | Description |\n| --- | --- | --- |\n| statusCode | number | HTTP status code of the response |\n| message | string | Message indicating the operation result |\n| date | number | Response timestamp |\n| payload | object | Response payload (optional) |\n\n### 🔐 Security Validation\n\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\n\n``` javascript\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\nsignature = crypto.createHmac(\"sha1\", HASH_KEY).update(signature).digest(\"hex\");\n\n ```\n\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\n## Headers\n\n- **Authorization**: Token {{customer_token}}\n\n## Request Body\n\n**Type**: `raw`\n\n```json\n{\n \"realAmount\": 2500,\n \"amount\": 2400,\n \"cost\": \"100\",\n \"referenceId\": \"1769505\",\n \"customerReference\": \"REF10000016\",\n \"updatedAt\": \"2025-07-31 10:21:57\",\n \"status\": 2,\n \"sign\": \"0ef1c3c2fa48121ee51f225270194f7fb62e2892\",\n \"paymentOrderItems\": [\n {\n \"id\": 1,\n \"description\": \"Factura de servicios\",\n \"amount\": 1500\n },\n {\n \"id\": 2,\n \"description\": \"Multa de tránsito\",\n \"amount\": 900\n }\n ]\n}\n```\n\n"
|
|
97
97
|
}
|
|
98
98
|
];
|
|
99
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/core/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,uBAAuB;AACvB,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC;QACE,KAAK,EAAE,6CAA6C;QACpD,MAAM,EAAE,4CAA4C;QACpD,aAAa,EAAE,miBAAmiB;QACljB,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,upCAAupC;KACnqC;IACD;QACE,KAAK,EAAE,mEAAmE;QAC1E,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,miBAAmiB;QACljB,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,2kBAA2kB;KACvlB;IACD;QACE,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,uWAAuW;QACtX,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,k4CAAk4C;KAC94C;IACD;QACE,KAAK,EAAE,2EAA2E;QAClF,MAAM,EAAE,wCAAwC;QAChD,aAAa,EAAE,wuBAAwuB;QACvvB,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/core/resources.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools.js
CHANGED
|
@@ -471,7 +471,7 @@ const querybillInputValidator = z.object(querybillInputShape);
|
|
|
471
471
|
// Herramienta: querybill
|
|
472
472
|
export const querybillTool = {
|
|
473
473
|
name: 'querybill',
|
|
474
|
-
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This endpoint allows you to query a bill by sending an HTTP POST request to \\`{{customer.domain.com}}/queryBill/\\`.\\n\\n### Benefits 🔎\\n\\n- **Real-time validation**: fresh billing info from the originator.\\n- **Standard error handling**: predictable codes/messages simplify UX and support.\\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\\n- **Observability**: traceability via \\`transactionId\\` from query to payment.\\n \\n\\n<img src=\\\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\\\" width=\\\"752\\\" height=\\\"1429\\\">\\n\\n### 📥 Request Body Parameters\\n\\n| Field | Type | Required | Description |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`reference\\` | string | ✅ | ID of the agreement (company) that is making the payment |\\n| \\`date\\` | string | ✅ | Transaction date in format \\`YYYY-MM-DD\\` |\\n| \\`time\\` | string | ✅ | Transaction time in format \\`HH:mm:ss\\` (24-hour clock, Bogotá time zone) |\\n\\n### **📤 Response body parameters**\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`message\\` | string | A message related to the query. |\\n| \\`reference\\` | string | The reference of the bill. |\\n| \\`amount\\` | number | The amount of the bill. |\\n| \\`code\\` | string | The code related to the bill. |\\n| \\`user_code\\` | string | The user code related to the bill. |\\n| \\`additional_data\\` | array | An array of additional data containing label and value pairs.
|
|
474
|
+
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This endpoint allows you to query a bill by sending an HTTP POST request to \\`{{customer.domain.com}}/queryBill/\\`.\\n\\n### Benefits 🔎\\n\\n- **Real-time validation**: fresh billing info from the originator.\\n- **Standard error handling**: predictable codes/messages simplify UX and support.\\n- **Lower coupling**: each client exposes its endpoint; the bridge resolves routing by agreement.\\n- **Observability**: traceability via \\`transactionId\\` from query to payment.\\n- **Multiple payment values**: support for references with multiple payment options via \\`paymentOrder\\`.\\n \\n\\n<img src=\\\"https://content.pstmn.io/11553f47-b117-42c5-b0e2-6a754de3c7a5/aW1hZ2UucG5n\\\" width=\\\"752\\\" height=\\\"1429\\\">\\n\\n### 📥 Request Body Parameters\\n\\n| Field | Type | Required | Description |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`reference\\` | string | ✅ | ID of the agreement (company) that is making the payment |\\n| \\`date\\` | string | ✅ | Transaction date in format \\`YYYY-MM-DD\\` |\\n| \\`time\\` | string | ✅ | Transaction time in format \\`HH:mm:ss\\` (24-hour clock, Bogotá time zone) |\\n\\n### **📤 Response body parameters**\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`message\\` | string | A message related to the query. |\\n| \\`reference\\` | string | The reference of the bill. |\\n| \\`amount\\` | number | The amount of the bill. |\\n| \\`code\\` | string | The code related to the bill. |\\n| \\`user_code\\` | string | The user code related to the bill. |\\n| \\`additional_data\\` | array | An array of additional data containing label and value pairs. |\\n| \\`paymentOrder\\` | object | Payment order object containing multiple payment values. This field is optional and will only be present when the reference has multiple payment values configured. When present, the main \\`amount\\` field may be optional as the values from \\`paymentOrder.items\\` will be used. |\\n\\n#### 📋 PaymentOrder Structure\\n\\nWhen \\`paymentOrder\\` is present in the response, it contains the following structure:\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`items\\` | array | List of available payment values (maximum 10 values). Each item contains: \\`id\\` (number, required), \\`description\\` (string, required, max 50 characters), and \\`amount\\` (number, required). |\\n| \\`selectionMode\\` | string | Indicates whether a single value (\\'single\\') or multiple values (\\'multiple\\') can be selected. |\\n\\n**Note**: When \\`paymentOrder\\` is provided in the response, it indicates that the reference supports multiple payment concepts. The client should use the \\`items\\` array to present payment options to the user, and then send the selected items in the \\`paymentOrderItems\\` field when submitting the transaction via \\`submitTransaction\\`.\n\nContexto: Endpoint: POST /queryBill/ | QueryBill\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.",
|
|
475
475
|
inputSchema: querybillInputJsonSchema,
|
|
476
476
|
jsonSchema: querybillInputJsonSchema,
|
|
477
477
|
endpoint: '/queryBill/',
|
|
@@ -545,6 +545,22 @@ const submittransactionInputJsonSchema = {
|
|
|
545
545
|
"description": "Campo del body: amount",
|
|
546
546
|
"default": 77926
|
|
547
547
|
},
|
|
548
|
+
"paymentOrderItems": {
|
|
549
|
+
"type": "array",
|
|
550
|
+
"description": "Campo del body: paymentOrderItems",
|
|
551
|
+
"default": [
|
|
552
|
+
{
|
|
553
|
+
"id": 1,
|
|
554
|
+
"description": "Factura de servicios",
|
|
555
|
+
"amount": 50000
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"id": 2,
|
|
559
|
+
"description": "Multa de tránsito",
|
|
560
|
+
"amount": 27926
|
|
561
|
+
}
|
|
562
|
+
]
|
|
563
|
+
},
|
|
548
564
|
"date": {
|
|
549
565
|
"type": "string",
|
|
550
566
|
"description": "Campo del body: date",
|
|
@@ -563,6 +579,7 @@ const submittransactionInputShape = {
|
|
|
563
579
|
transactionId: z.string().optional().describe("Campo del body: transactionId"),
|
|
564
580
|
reference: z.string().optional().describe("Campo del body: reference"),
|
|
565
581
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
582
|
+
paymentOrderItems: z.array(z.any()).optional().describe("Campo del body: paymentOrderItems"),
|
|
566
583
|
date: z.string().optional().describe("Campo del body: date"),
|
|
567
584
|
time: z.string().optional().describe("Campo del body: time")
|
|
568
585
|
};
|
|
@@ -570,7 +587,7 @@ const submittransactionInputValidator = z.object(submittransactionInputShape);
|
|
|
570
587
|
// Herramienta: submittransaction
|
|
571
588
|
export const submittransactionTool = {
|
|
572
589
|
name: 'submittransaction',
|
|
573
|
-
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\\n\\n### Benefits 💳\\n\\n- **Transactional idempotency**: \\`transactionId\\` avoids double charges on retries/timeouts.\\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\\n- **Operational scalability**: async processing absorbs traffic spikes.\\n \\n\\n<img src=\\\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\\\" width=\\\"960\\\" height=\\\"1544\\\">\\n\\n### 📥 Request Body Parameters\\n\\n| **Field** | **Type** | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`
|
|
590
|
+
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/submitTransaction/.\\n\\n### Benefits 💳\\n\\n- **Transactional idempotency**: \\`transactionId\\` avoids double charges on retries/timeouts.\\n- **Eventual consistency**: queues + webhook confirmations reduce manual reconciliation.\\n- **Operational scalability**: async processing absorbs traffic spikes.\\n- **Multiple payment items**: support for partial payments or multiple concepts within a single transaction via \\`paymentOrderItems\\`.\\n \\n\\n<img src=\\\"https://content.pstmn.io/2a2fa301-1c9a-4346-9f5f-92dcffc49343/aW1hZ2UucG5n\\\" width=\\\"960\\\" height=\\\"1544\\\">\\n\\n### 📥 Request Body Parameters\\n\\n| **Field** | **Type** | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`transactionId\\` | string | ✅ | The transaction ID. |\\n| \\`reference\\` | string | ✅ | The reference for the transaction. |\\n| \\`amount\\` | number | ✅ | The amount of the transaction. |\\n| \\`paymentOrderItems\\` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: \\`id\\` (number, required), \\`description\\` (string, required, max 50 characters), and \\`amount\\` (number, required). |\\n| \\`date\\` | string | ✅ | Transaction date in format \\`YYYY-MM-DD\\` |\\n| \\`time\\` | string | ✅ | Transaction time in format \\`HH:mm:ss\\` (24-hour clock, Bogotá time zone) |\\n\\n#### 📋 PaymentOrderItems Structure\\n\\nWhen using \\`paymentOrderItems\\`, each element in the array must have the following structure:\\n\\n| **Field** | **Type** | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`id\\` | number | ✅ | Unique numeric identifier for the payment value |\\n| \\`description\\` | string | ✅ | Description of the payment value (maximum 50 characters) |\\n| \\`amount\\` | number | ✅ | Numeric value to be paid |\\n\\n**Note**: When \\`paymentOrderItems\\` is provided, it allows processing multiple payment concepts or partial payments within a single transaction. The main \\`amount\\` field should match the sum of all \\`amount\\` values in \\`paymentOrderItems\\`.\\n\\n### 📤 Response Body Parameters\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`message\\` | string | A message regarding the transaction submission. |\\n| \\`reference\\` | string | The reference for the submitted transaction. |\\n| \\`amount\\` | number | The amount of the submitted transaction. |\\n| \\`code\\` | string | A code related to the transaction. |\\n| \\`user_code\\` | string | User-specific code related to the transaction. |\\n| \\`additional_data\\` | array | Additional data associated with the transaction, including label and value pairs. |\n\nContexto: Endpoint: POST /submitTransaction/ | SubmitTransaction\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.",
|
|
574
591
|
inputSchema: submittransactionInputJsonSchema,
|
|
575
592
|
jsonSchema: submittransactionInputJsonSchema,
|
|
576
593
|
endpoint: '/submitTransaction/',
|
|
@@ -599,6 +616,9 @@ export const submittransactionTool = {
|
|
|
599
616
|
const amountValue = args.amount !== undefined ? args.amount : 77926;
|
|
600
617
|
if (amountValue !== undefined)
|
|
601
618
|
bodyData.amount = amountValue;
|
|
619
|
+
const paymentOrderItemsValue = args.paymentOrderItems !== undefined ? args.paymentOrderItems : [{ "id": 1, "description": "Factura de servicios", "amount": 50000 }, { "id": 2, "description": "Multa de tránsito", "amount": 27926 }];
|
|
620
|
+
if (paymentOrderItemsValue !== undefined)
|
|
621
|
+
bodyData.paymentOrderItems = paymentOrderItemsValue;
|
|
602
622
|
const dateValue = args.date !== undefined ? args.date : "2025-03-16";
|
|
603
623
|
if (dateValue !== undefined)
|
|
604
624
|
bodyData.date = dateValue;
|
|
@@ -650,6 +670,22 @@ const rollbacktransactionInputJsonSchema = {
|
|
|
650
670
|
"description": "Campo del body: amount",
|
|
651
671
|
"default": 77926
|
|
652
672
|
},
|
|
673
|
+
"paymentOrderItems": {
|
|
674
|
+
"type": "array",
|
|
675
|
+
"description": "Campo del body: paymentOrderItems",
|
|
676
|
+
"default": [
|
|
677
|
+
{
|
|
678
|
+
"id": 1,
|
|
679
|
+
"description": "Factura de servicios",
|
|
680
|
+
"amount": 50000
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"id": 2,
|
|
684
|
+
"description": "Multa de tránsito",
|
|
685
|
+
"amount": 27926
|
|
686
|
+
}
|
|
687
|
+
]
|
|
688
|
+
},
|
|
653
689
|
"date": {
|
|
654
690
|
"type": "string",
|
|
655
691
|
"description": "Campo del body: date",
|
|
@@ -668,6 +704,7 @@ const rollbacktransactionInputShape = {
|
|
|
668
704
|
transactionId: z.string().optional().describe("Campo del body: transactionId"),
|
|
669
705
|
reference: z.string().optional().describe("Campo del body: reference"),
|
|
670
706
|
amount: z.number().optional().describe("Campo del body: amount"),
|
|
707
|
+
paymentOrderItems: z.array(z.any()).optional().describe("Campo del body: paymentOrderItems"),
|
|
671
708
|
date: z.string().optional().describe("Campo del body: date"),
|
|
672
709
|
time: z.string().optional().describe("Campo del body: time")
|
|
673
710
|
};
|
|
@@ -675,7 +712,7 @@ const rollbacktransactionInputValidator = z.object(rollbacktransactionInputShape
|
|
|
675
712
|
// Herramienta: rollbacktransaction
|
|
676
713
|
export const rollbacktransactionTool = {
|
|
677
714
|
name: 'rollbacktransaction',
|
|
678
|
-
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\\n\\n### Benefits 🔁\\n\\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\\n- **Full traceability**: reversal events and contingency log.\\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\\n\\n<img src=\\\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\\\" width=\\\"960\\\" height=\\\"1805\\\">\\n\\n#### 📥 Request Body Parameters\\n\\n| Field | Type | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`transactionId\\` | string | ✅ | The transaction ID. |\\n| \\`reference\\` | string | ✅ | The reference for the transaction. |\\n| \\`amount\\` | number | ✅ | The amount of the transaction. |\\n| \\`date\\` | string | ✅ | Transaction date in format \\`YYYY-MM-DD\\` |\\n| \\`time\\` | string | ✅ | Transaction time in format \\`HH:mm:ss\\` (24-hour clock, Bogotá time zone) |\\n\\n#### 📤 Response Body Parameters\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`message\\` | string | A message indicating the status of the rollback process. |\\n| \\`reference\\` | string | The reference number of the transaction. |\\n| \\`amount\\` | number | The amount of the transaction. |\\n| \\`code\\` | string | A status code for the rollback process. |\\n| \\`user_code\\` | string | A user-specific code related to the rollback process. |\\n| \\`additional_data\\` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\nContexto: Endpoint: POST /rollbackTransaction/ | RollbackTransaction\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.",
|
|
715
|
+
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This API endpoint allows you to submit a transaction via an HTTP POST request to {{customer.domain.com}}/rollbackTransaction/.\\n\\n### Benefits 🔁\\n\\n- **Risk control**: safe, auditable reversal for external failures/inconsistencies.\\n- **Full traceability**: reversal events and contingency log.\\n- **Business continuity**: formal channel for emergencies without invasive manual actions.\\n- **Multiple payment items support**: allows rollback of transactions with multiple payment concepts via \\`paymentOrderItems\\`.\\n\\n<img src=\\\"https://content.pstmn.io/0dc93101-f9e1-4d85-afea-2d299173587d/aW1hZ2UucG5n\\\" width=\\\"960\\\" height=\\\"1805\\\">\\n\\n#### 📥 Request Body Parameters\\n\\n| Field | Type | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`codCustomer\\` | string | ✅ | The customer code. (Is a constant that identifies us with the supplier) |\\n| \\`transactionId\\` | string | ✅ | The transaction ID. |\\n| \\`reference\\` | string | ✅ | The reference for the transaction. |\\n| \\`amount\\` | number | ✅ | The amount of the transaction. |\\n| \\`paymentOrderItems\\` | array | ❌ | Array of payment order items representing individual payment values within a reference with multiple values. Maximum 10 items. Each item must contain: \\`id\\` (number, required), \\`description\\` (string, required, max 50 characters), and \\`amount\\` (number, required). |\\n| \\`date\\` | string | ✅ | Transaction date in format \\`YYYY-MM-DD\\` |\\n| \\`time\\` | string | ✅ | Transaction time in format \\`HH:mm:ss\\` (24-hour clock, Bogotá time zone) |\\n\\n#### 📋 PaymentOrderItems Structure\\n\\nWhen using \\`paymentOrderItems\\`, each element in the array must have the following structure:\\n\\n| **Field** | **Type** | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`id\\` | number | ✅ | Unique numeric identifier for the payment value |\\n| \\`description\\` | string | ✅ | Description of the payment value (maximum 50 characters) |\\n| \\`amount\\` | number | ✅ | Numeric value to be paid |\\n\\n**Note**: When \\`paymentOrderItems\\` is provided, it allows rollback of transactions with multiple payment concepts. The main \\`amount\\` field should match the sum of all \\`amount\\` values in \\`paymentOrderItems\\`.\\n\\n#### 📤 Response Body Parameters\\n\\n| **Field** | **Type** | **Description** |\\n| --- | --- | --- |\\n| \\`message\\` | string | A message indicating the status of the rollback process. |\\n| \\`reference\\` | string | The reference number of the transaction. |\\n| \\`amount\\` | number | The amount of the transaction. |\\n| \\`code\\` | string | A status code for the rollback process. |\\n| \\`user_code\\` | string | A user-specific code related to the rollback process. |\\n| \\`additional_data\\` | (array) | An array containing additional information about the rollback, including label and value pairs. |\n\nContexto: Endpoint: POST /rollbackTransaction/ | RollbackTransaction\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.",
|
|
679
716
|
inputSchema: rollbacktransactionInputJsonSchema,
|
|
680
717
|
jsonSchema: rollbacktransactionInputJsonSchema,
|
|
681
718
|
endpoint: '/rollbackTransaction/',
|
|
@@ -704,6 +741,9 @@ export const rollbacktransactionTool = {
|
|
|
704
741
|
const amountValue = args.amount !== undefined ? args.amount : 77926;
|
|
705
742
|
if (amountValue !== undefined)
|
|
706
743
|
bodyData.amount = amountValue;
|
|
744
|
+
const paymentOrderItemsValue = args.paymentOrderItems !== undefined ? args.paymentOrderItems : [{ "id": 1, "description": "Factura de servicios", "amount": 50000 }, { "id": 2, "description": "Multa de tránsito", "amount": 27926 }];
|
|
745
|
+
if (paymentOrderItemsValue !== undefined)
|
|
746
|
+
bodyData.paymentOrderItems = paymentOrderItemsValue;
|
|
707
747
|
const dateValue = args.date !== undefined ? args.date : "2025-03-16";
|
|
708
748
|
if (dateValue !== undefined)
|
|
709
749
|
bodyData.date = dateValue;
|
|
@@ -774,6 +814,22 @@ const webhookInputJsonSchema = {
|
|
|
774
814
|
"type": "string",
|
|
775
815
|
"description": "Campo del body: sign",
|
|
776
816
|
"default": "0ef1c3c2fa48121ee51f225270194f7fb62e2892"
|
|
817
|
+
},
|
|
818
|
+
"paymentOrderItems": {
|
|
819
|
+
"type": "array",
|
|
820
|
+
"description": "Campo del body: paymentOrderItems",
|
|
821
|
+
"default": [
|
|
822
|
+
{
|
|
823
|
+
"id": 1,
|
|
824
|
+
"description": "Factura de servicios",
|
|
825
|
+
"amount": 1500
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"id": 2,
|
|
829
|
+
"description": "Multa de tránsito",
|
|
830
|
+
"amount": 900
|
|
831
|
+
}
|
|
832
|
+
]
|
|
777
833
|
}
|
|
778
834
|
},
|
|
779
835
|
"required": []
|
|
@@ -786,13 +842,14 @@ const webhookInputShape = {
|
|
|
786
842
|
customerReference: z.string().optional().describe("Campo del body: customerReference"),
|
|
787
843
|
updatedAt: z.string().optional().describe("Campo del body: updatedAt"),
|
|
788
844
|
status: z.number().optional().describe("Campo del body: status"),
|
|
789
|
-
sign: z.string().optional().describe("Campo del body: sign")
|
|
845
|
+
sign: z.string().optional().describe("Campo del body: sign"),
|
|
846
|
+
paymentOrderItems: z.array(z.any()).optional().describe("Campo del body: paymentOrderItems")
|
|
790
847
|
};
|
|
791
848
|
const webhookInputValidator = z.object(webhookInputShape);
|
|
792
849
|
// Herramienta: webhook
|
|
793
850
|
export const webhookTool = {
|
|
794
851
|
name: 'webhook',
|
|
795
|
-
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\\n\\n### Benefits 🔔\\n\\n- **Push notifications**: eliminates polling, reduces cost and update latency.\\n- **Security**: signature/auth validation for trusted origin.\\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\\n \\n\\n### 📥 Request Body Parameters\\n\\n| Field | Type | Required | Description |\\n| --- | --- | --- | --- |\\n| realAmount | number | ✅ | Real transaction amount (without costs) |\\n| amount | number | ✅ | Total transaction amount (including costs) |\\n| cost | string | ✅ | Total transaction cost |\\n| referenceId | string | ✅ | Unique transaction identifier |\\n| customerReference | string | ✅ | Customer reference provided during the transaction |\\n| updatedAt | string | ✅ | Date and time of last update (format: \\\"YYYY-MM-DD HH:mm:ss\\\") |\\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\\n| sign | string | ✅ | Security signature to validate message integrity |\\n\\n### 📤 Response Body Parameters\\n\\n| Field | Type | Description |\\n| --- | --- | --- |\\n| statusCode | number | HTTP status code of the response |\\n| message | string | Message indicating the operation result |\\n| date | number | Response timestamp |\\n| payload | object | Response payload (optional) |\\n\\n### 🔐 Security Validation\\n\\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\\n\\n\\`\\`\\` javascript\\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\\nsignature = crypto.createHmac(\\\"sha1\\\", HASH_KEY).update(signature).digest(\\\"hex\\\");\\n\\n \\`\\`\\`\\n\\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\nContexto: Endpoint: POST /webhook/ | Webhook\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.",
|
|
852
|
+
description: "## 📝Recommendations\\n\\n- Establish a dedicated **QA environment** to perform thorough testing before production deployment.\\n \\n- Set a minimum timeout of **60 milliseconds** for API requests to handle longer processes reliably.\\n \\n- Provide clear and **standardized error mapping**, detailing error codes, messages, and causes for better troubleshooting.\\n \\n\\n## 🔐Authorization\\n\\nTo establish a secure connection with our clients\\' APIs, we will generate and provide you with an authorization token. This token will allow us to authenticate with the API that our clients build.\\n\\n**Token Format:**\\n\\n\\`Authorization: Token {generate_token_value}\\`\\n\\n**Example:**\\n\\n\\`Authorization: Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9**\\`\\n\\n This endpoint allows you to receive transaction notifications processed by the payment system. The merchant must implement this endpoint to receive transaction status updates.\\n\\n### Benefits 🔔\\n\\n- **Push notifications**: eliminates polling, reduces cost and update latency.\\n- **Security**: signature/auth validation for trusted origin.\\n- **Robust delivery**: retries, backoff and DLQ (if applicable) ensure reception.\\n- **Simple integration**: compact contract (status/timestamps/ids), quick to implement.\\n- **Multiple payment items**: includes payment order items when transactions involve multiple payment concepts.\\n \\n\\n### 📥 Request Body Parameters\\n\\n| Field | Type | Required | Description |\\n| --- | --- | --- | --- |\\n| realAmount | number | ✅ | Real transaction amount (without costs) |\\n| amount | number | ✅ | Total transaction amount (including costs) |\\n| cost | string | ✅ | Total transaction cost |\\n| referenceId | string | ✅ | Unique transaction identifier |\\n| customerReference | string | ✅ | Customer reference provided during the transaction |\\n| updatedAt | string | ✅ | Date and time of last update (format: \\\"YYYY-MM-DD HH:mm:ss\\\") |\\n| status | number | ✅ | Transaction status ID : 1 Pending , 2 Approved ,3 Failed |\\n| sign | string | ✅ | Security signature to validate message integrity |\\n| paymentOrderItems | array | ❌ | Array of payment order items that were processed. This field is optional and will only be present when the transaction included multiple payment concepts. Each item contains: \\`id\\` (number, required), \\`description\\` (string, required), and \\`amount\\` (number, required). |\\n\\n#### 📋 PaymentOrderItems Structure\\n\\nWhen \\`paymentOrderItems\\` is present in the webhook payload, it indicates that the transaction processed multiple payment concepts. The structure matches the items sent in the \\`submitTransaction\\` request:\\n\\n| **Field** | **Type** | **Required** | **Description** |\\n| --- | --- | --- | --- |\\n| \\`id\\` | number | ✅ | Unique numeric identifier for the payment value |\\n| \\`description\\` | string | ✅ | Description of the payment value |\\n| \\`amount\\` | number | ✅ | Numeric value that was paid |\\n\\n**Note**: When \\`paymentOrderItems\\` is present, the \\`amount\\` field represents the total sum of all items. Verify that the sum of \\`paymentOrderItems[].amount\\` equals the total \\`amount\\`.\\n\\n### 📤 Response Body Parameters\\n\\n| Field | Type | Description |\\n| --- | --- | --- |\\n| statusCode | number | HTTP status code of the response |\\n| message | string | Message indicating the operation result |\\n| date | number | Response timestamp |\\n| payload | object | Response payload (optional) |\\n\\n### 🔐 Security Validation\\n\\nThe sign field must be validated to ensure message integrity. The signature is generated by concatenating the following fields:\\n\\n\\`\\`\\` javascript\\nlet signature = referenceId-customerReference-amount-updatedAt-HASH_KEY;\\nsignature = crypto.createHmac(\\\"sha1\\\", HASH_KEY).update(signature).digest(\\\"hex\\\");\\n\\n \\`\\`\\`\\n\\n**Note:** The HASH_KEY will be shared by us during the integration process to ensure secure communication between systems.\n\nContexto: Endpoint: POST /webhook/ | Webhook\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.",
|
|
796
853
|
inputSchema: webhookInputJsonSchema,
|
|
797
854
|
jsonSchema: webhookInputJsonSchema,
|
|
798
855
|
endpoint: '/webhook/',
|
|
@@ -833,6 +890,9 @@ export const webhookTool = {
|
|
|
833
890
|
const signValue = args.sign !== undefined ? args.sign : "0ef1c3c2fa48121ee51f225270194f7fb62e2892";
|
|
834
891
|
if (signValue !== undefined)
|
|
835
892
|
bodyData.sign = signValue;
|
|
893
|
+
const paymentOrderItemsValue = args.paymentOrderItems !== undefined ? args.paymentOrderItems : [{ "id": 1, "description": "Factura de servicios", "amount": 1500 }, { "id": 2, "description": "Multa de tránsito", "amount": 900 }];
|
|
894
|
+
if (paymentOrderItemsValue !== undefined)
|
|
895
|
+
bodyData.paymentOrderItems = paymentOrderItemsValue;
|
|
836
896
|
return await makeApiRequest('POST', '/webhook/', bodyData, undefined, secretId);
|
|
837
897
|
}
|
|
838
898
|
catch (error) {
|
package/dist/core/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { appConfig as config } from './config.js';
|
|
|
11
11
|
const mode = process.argv.includes('--http') || process.env.MCP_MODE === 'http' ? 'http' : 'stdio';
|
|
12
12
|
const server = new McpServer({
|
|
13
13
|
name: 'collection-api-refacil-mcp',
|
|
14
|
-
version: '1.0.
|
|
14
|
+
version: '1.0.2'
|
|
15
15
|
});
|
|
16
16
|
// Nota para LLMs: 🔐 Autenticación automática y configuración de servidor
|
|
17
17
|
// - Todas las credenciales (secretId, apiToken, tokens) se manejan automáticamente desde la configuración del servidor.
|
|
@@ -139,7 +139,7 @@ else if (mode === 'http') {
|
|
|
139
139
|
return {
|
|
140
140
|
name: 'collection-api-refacil-mcp',
|
|
141
141
|
description: 'MCP API for Collection API Refacil',
|
|
142
|
-
version: '1.0.
|
|
142
|
+
version: '1.0.2',
|
|
143
143
|
tools: tools.map(tool => ({
|
|
144
144
|
name: tool.name,
|
|
145
145
|
description: tool.description
|