# ENDPOINTS: PLAN SOCIO ## PRECARGA #### Description Endpoint para solicitar los datos nececsarios de la aplicación; datos de cuotas, covertura, pago automatico cta. vista, contratos, datos para la sección de firma #### Request ##### Endpoint: [URL]/api/v1/bussiness ##### Method: GET ##### Parametros: N/A #### Response ```json { "data": { "quota": number, // valor de la cuota "pac": { "payDays": [number, number, ...], "amountRange": { "min": number, "max": number } }, "contracts": { "section": [{ "id": number, "name": string, "contracts": [{ "id": number, "name": string, "data": { "descriptions": [string, string, ...], "alerts": [{ // alertas por contrato "type": string, // info, warning, error, "title": string, "description": string }] }, "link": string // URL del contrato }] }] }, "mandatoPago": { "id": number, "link": string }, "sign": { "timeRetry": number } } } ``` ## DATOS GEOGRÁFICOS #### Description Endpoint para obtener datos de regiones y comunas. **Nota**: Por cada región y comuna se debe indicar la cobertura del servicio de delivery #### Request ##### Endpoint: [URL]/api/v1/geographical-data ##### Method: GET ##### Parametros: N/A #### Response ```json { "data": { "regions": [{ "id": string, // "01" | "02" | "03" | ... "name": string, "coverage": boolean, "communes": [{ "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { ... }] }, { "id": string, // "01" | "02" | "03" | ... "name": string, "coverage": boolean, "communes": [{ "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { "id": string, // "0020" | "0405" "name": string, "coverage": boolean }, { ... }] }, { ... }] } } ``` ## PANTALLA 1 - DATOS PERSONALES #### Description Endpoint para enviar los datos del usuario y recibir la validación de backend. Se llama al intentar continuar al paso 2. #### Request ##### Endpoint: [URL]/api/v1/personal-contact-data ##### Method: POST ##### Parametros: __OLD VERSION:__ ```json { "personalData": { "firstName": string, "firstSurname": string, "secondSurname": string, "rut": string, "serie": string }, "contactData": { "phone": string, // +5691111111 "email": string }, "addressData": { "region": string, "commune": string, "street": string, "number": string, "other": string } } ``` __NEW VERSION__ ```json { "personalData": { "firstName": string, "firstSurname": string, "secondSurname": string, "rut": string, "serialNumber": string }, "contactData": { "phone": string, // +5691111111 "email": string, "street": string, "region": string, "commune": string, "country": string, "numeration": string, "other": string } } ``` #### RESPONSE ##### OK - status: 200 ```json { "data": { "code": number, "message": string, "coverageAddress": boolean, "token": string } } ``` ##### IDENTITY ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### BLACKLIST ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### IS CLIENT ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### IS UNDER AGE ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### IS JURIDIC PERSON ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### FORMAT ERROR (rut, email, numero serie, teléfono, largo campos) - status: 406 ```json "data": { "code": number, "message": string } ``` ##### SERVER ERROR - status: 500 ```json "data": { "code": number, "message": string } ``` ## PANTALLA 2 - PERSONALIZACIÓN DE PRODUCTOS #### Description Endpoint para enviar los datos reyenados en el paso 2 #### Request ##### Endpoint: [URL]/api/v1/customize-products ##### Method: POST ##### Parametros: ```json { "quotes": number, "pac": { "status": boolean, "amount": number, "payday": number }, "delivery": { "particular": boolean, "region": string, "commune": string, "street": string, "number": string, "other": string // Depto, block, otro } } ``` #### RESPONSE ##### PRODUCTS - status: 200 ```json { "data": { "code": number, "message": string } } ``` ##### QUOTE ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### PAC ERROR (campos reqeuridos, rango de monto, día de cargo) - status: 403 ```json "data": { "code": number, "message": string } ``` ##### DELIVERY ERROR (campos requeridos, formato de dirección) - status: 403 ```json "data": { "code": number, "message": string } ``` ##### SERVER ERROR- status: 500 ```json "data": { "code": number, "message": string } ``` ### REQUEST SEND "QUIERO QUE ME CONTACTEN" ```json // todo: REVISAR CAMPOS DE FORMULARIO DE HAZTE SOCIO { "firstName": string, "firstSurname": string, "secondSurname": string, "phone": string, "email": string, "rut": string } ``` #### RESPONSE NO COVERAGE - status: 200 ```json { "data": { "code": number, "message": string } } ``` ##### FORMAT OR REQUIRED ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ##### SERVER ERROR - status: 500 ```json "data": { "code": number, "message": string } ``` ## PANTALLA 3 - CONTRATOS #### Description Endpoint para enviar los datos rellenados en el paso 3 (contratos) #### Request ##### Endpoint: [URL]/api/v1/contracts ##### Method: POST ##### Parametros: ```json { "paymentMandate": boolean, "declarations": { "fatca": boolean, "crs": boolean } } ``` ### RESPONSE ##### CONTRACTS - status: 200 ```json "data": { "code": number, "message": string } ``` ##### FORMAT OR REQUIRED ERROR - status: 403 ```json "data": { "code": number, "message": string } ``` ## PANTALLA 4 - SIGN #### Description Endpoint para obtener las preguntas para el desafío #### Request ##### Endpoint: [URL]/api/v1/generateChallenge ##### Method: GET ##### Parametros: ```json { "Header": "Authorization": Bearer token token:{ rut, n°serie, otros} } ``` ### RESPONSE ```json { "data": { "generarResponse": { "consultaResponse": { "ConsultaResult": { "codigoRetorno": 200, "resumen": { "rut": "16696492K", "usuario": 44444444, "idchallenge": "202003231248349474577208" }, "detalle": { "desafio": { "preguntas": [ { "codigoPregunta": "REQ0002 ", "pregunta": "¿Está o estuvo su domicilio en alguna de las siguientes direcciones?", "alternativas": [ { "codigoRespuesta": "RSP0401 ", "respuesta": "CANDALO AMARILLO 10396" }, { "codigoRespuesta": "RSP3903 ", "respuesta": "MADRESELVAS 3443" }, { "codigoRespuesta": "RSP4352 ", "respuesta": "ARTURO GOZALVEZ 3469" }, { "codigoRespuesta": "RSP6314 ", "respuesta": "GALILEO 4856" } ] }, { "codigoPregunta": "REQ0004 ", "pregunta": "Dentro del último año, ¿Tuvo o tiene un vehículo con una de las siguientes características?", "alternativas": [ { "codigoRespuesta": "RSP2430 ", "respuesta": "CHEVROLET GEMINI SPORT" }, { "codigoRespuesta": "RSP5150 ", "respuesta": "KIA MOTORS NEW CERATO EX 1.6" }, { "codigoRespuesta": "RSP7933 ", "respuesta": "MAZDA ARTIS GLX B 1.6" }, { "codigoRespuesta": "RSP8331 ", "respuesta": "UNITED MOTORS RENEGADE COMMA DO200" } ] }, { "codigoPregunta": "REQ0012 ", "pregunta": "¿Cuál es la fecha de cumpleaños de su madre?", "alternativas": [ { "codigoRespuesta": "RSP3225 ", "respuesta": "20-12" }, { "codigoRespuesta": "RSP5274 ", "respuesta": "23-01" }, { "codigoRespuesta": "RSP8536 ", "respuesta": "10-12" }, { "codigoRespuesta": "RSP8964 ", "respuesta": "10-09" } ] }, { "codigoPregunta": "REQ0014 ", "pregunta": "¿Cuál de las siguientes fechas es cumpleaños de uno de sus hijos?", "alternativas": [ { "codigoRespuesta": "RSP3084 ", "respuesta": "18-02" }, { "codigoRespuesta": "RSP6759 ", "respuesta": "21-02" }, { "codigoRespuesta": "RSP6927 ", "respuesta": "09-10" }, { "codigoRespuesta": "RSP8392 ", "respuesta": "05-06" } ] }, { "codigoPregunta": "REQ0023 ", "pregunta": "¿Está o estuvo alguna vez su dirección en una de las siguientes comunas?", "alternativas": [ { "codigoRespuesta": "RSP0744 ", "respuesta": "LAS CONDES" }, { "codigoRespuesta": "RSP5046 ", "respuesta": "LA PINTANA" }, { "codigoRespuesta": "RSP5058 ", "respuesta": "LA FLORIDA" }, { "codigoRespuesta": "RSP6262 ", "respuesta": "ALHUE" } ] } ] } } } } } } } } ``` --- ### Validar Desafio #### Request #### Endpoint: <span style="color:blue">[URL]/api/v1/validateChallenge</span> #### Method: <span style="color:blue">POST</span> ##### REQUEST: :warning: El parámetro **rut** esta en el **Request** pero después debería ir por cabecera. ```json:js { "rut": string, "idChallenges": string, "answers": [ { "id": string "answer": string }, ... ] } ``` ##### RESPONSE - STATUS 200 ```json:js { "rut": string, "idChallenges": string, "pin": string } ``` ##### SINACOFI ERRORS - status: 403 ```json:js { "rut": string, "idChallenges": string, "pin": string } ``` ##### SERVER ERROR - status: 500 ```json:js { "rut": string, "idChallenges": string, "pin": string } ``` --- ### Firma Documento #### Endpoint: <span style="color:blue">[URL]/api/v1/signDocument</span> #### Method: <span style="color:blue">POST</span> ##### REQUEST: :warning: El parámetro **rut** esta en el **Request** pero después debería ir por cabecera. ```json:js { "rut": string, "idChallenges": string, "pin": string } ``` ##### RESPONSE - status 200 ```json { "data": { "code": number, "message": string } } ``` ##### FORMAT OR REQUIRED ERROR - status: 403 ```json { "data": { "code": number, "message": string } } ``` ##### SERVER ERROR - status: 500 ```json:js { "rut": string, "idChallenges": string, "pin": string } ``` <br /><br /><br /><br /><br /><br /><br /><br /><br /> --- ### REQUEST SEND SMS ```json - "code": string ``` ### RESPONSE status 200 ```json "data": { "code": number, "message": string } ```