Files
sf-sim/docs/sim-api-documentation.html
2026-03-11 11:35:16 +01:00

25 lines
7.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>sim-api - API Documentation</title>
<style>
body { margin: 0; padding: 0; }
#opencollection-container { width: 100vw; height: 100vh; }
</style>
<link rel="stylesheet" href="https://cdn.opencollection.com/docs.css">
<script src="https://cdn.opencollection.com/docs.js"></script>
</head>
<body>
<div id="opencollection-container"></div>
<script>
const collectionData = "opencollection: 1.0.0\ninfo:\n name: sim-api\nconfig:\n environments:\n - name: local\n variables:\n - name: baseurl\n value: http://localhost:3000\n - name: prod\n variables:\n - name: baseurl\n value: https://sf-sims.savefamilygps.net\nitems:\n - info:\n name: Pause\n type: http\n seq: 1\n http:\n method: POST\n url: '{{baseurl}}/sim/pause'\n params:\n - name: iccid\n value: ''\n type: query\n disabled: true\n body:\n type: form-urlencoded\n data:\n - name: iccid\n value: '8933201125065160414'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Get pending orders\n type: http\n seq: 11\n http:\n method: GET\n url: '{{baseurl}}/orders/pending'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Cancel\n type: http\n seq: 1\n http:\n method: POST\n url: '{{baseurl}}/sim/cancel'\n body:\n type: form-urlencoded\n data:\n - name: iccid\n value: '8933201125068886692'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n docs: |-\n El endpoint recibe como body\n ```\n {\n iccid: string,\n update_webhook?: string\n }\n ```\n\n `update_webhook` est\xE1 en desarrollo, pero ser\xE1 donde se mande la actualizacion de la cancelaci\xF3n cuando haya una respuesta de la API externa.\n\n Si la llamada tiene exito devuelve:\n ``` json\n {\n data: {\n iccid: string,\n message_id: string,\n operation: \"cancelation\"\n }\n }\n\n ```\n message_id se usar\xE1 para la llamada /orders/message_id/}{message_id} \n\n Si la llamada falla devolvera:\n ```json\n {\n errors: {\n msg: string\n ... (campos extra de gestion del error)\n }\n }\n ```\n - info:\n name: Test Order\n type: http\n seq: 9\n http:\n method: POST\n url: '{{baseurl}}/sim/test'\n body:\n type: form-urlencoded\n data:\n - name: iccid\n value: '8933201125065160999'\n - name: offer\n value: SAVEFAMILY1\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Activation Email Health\n type: http\n seq: 8\n http:\n method: POST\n url: https://sf-sim-activation.savefamily.net/health\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Orders by message_id\n type: http\n seq: 12\n http:\n method: GET\n url: '{{baseurl}}/orders/message_id/019c93d3-014a-711d-b958-03dd629be78d'\n params:\n - name: message_id\n value: 019c93d3-014a-711d-b958-03dd629be78d\n type: query\n disabled: true\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Order by id\n type: http\n seq: 9\n http:\n method: GET\n url: '{{baseurl}}/orders/'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Preactivate\n type: http\n seq: 1\n http:\n method: POST\n url: '{{baseurl}}/sim/preactivate'\n params:\n - name: iccid\n value: '1234'\n type: query\n disabled: true\n body:\n type: form-urlencoded\n data:\n - name: iccid\n value: '8933201125065160380'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Activation Email\n type: http\n seq: 6\n http:\n method: POST\n url: https://sf-sim-activation.savefamily.net/send-activation-mail\n headers:\n - name: x-apikey-sim-activation\n value: 9e48c4ac-1ab0-4397-b3f3-6c239200dfe6\n body:\n type: json\n data: |-\n {\n \"id\": \"11\",\n \"retry_count\": 0,\n \"max_retry\": null,\n \"max_date_retry\": null,\n \"iccids\": [\n \"8933201125068886080\"\n ],\n \"request_id\": \"14362\",\n \"mass_action_id\": \"5208468\",\n \"operation\": \"activate\",\n \"start_date\": \"2026-02-13T11:08:42.499Z\",\n \"last_change_date\": \"2026-02-16T09:24:36.073Z\",\n \"end_date\": \"2026-02-16T09:24:36.073Z\",\n \"error\": null,\n \"status\": \"finished\",\n \"objenious_status\": \"Termin\xE9\",\n \"msisdn\": \"33764399870\"\n }\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Health\n type: http\n seq: 5\n http:\n method: GET\n url: '{{baseurl}}/health'\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n - info:\n name: Activate\n type: http\n seq: 1\n http:\n method: POST\n url: '{{baseurl}}/sim/activate'\n body:\n type: form-urlencoded\n data:\n - name: iccid\n value: '8933201125068886692'\n - name: offer\n value: SAVEFAMILY1\n auth: inherit\n settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\ndocs:\n content: |-\n Los endpoint tienen unos campos comunes de entrada:\n ```ts\n {\n iccid: string,\n update_webhook?: string\n }\n ```\n\n `update_webhook` est\xE1 en desarrollo, pero ser\xE1 donde se mande la actualizacion de la cancelaci\xF3n cuando haya una respuesta de la API externa.\n\n Si la llamada tiene exito devuelve:\n ```ts\n {\n data: {\n iccid: string,\n message_id: string,\n operation: string,\n }\n }\n\n ```\n message_id se usar\xE1 para la llamada /orders/message_id/}{message_id} \n\n Si la llamada falla devolvera:\n ```ts\n {\n errors: {\n msg: string\n ... (campos extra de gestion del error)\n }\n }\n ```\n type: text/markdown\nbundled: true\nextensions:\n bruno:\n ignore:\n - node_modules\n - .git\n exportedAt: '2026-03-11T10:32:05.348Z'\n exportedUsing: Bruno/3.1.4\n";
new window.OpenCollection({
target: document.getElementById('opencollection-container'),
opencollection: collectionData,
theme: 'light'
});
</script>
</body>
</html>