# Login y Registro

# /api/app/auth/login

##### Autentica al usuario.

### Detalles técnicos

- **Endpoint: /api/app/auth/login**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/login
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://syslima.shalomcontrol.com/api/app/auth/login</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://syslima.shalomcontrol.com/api/app/auth/login</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://syscontrol.shalomcontrol.com/api/app/auth/login</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
email:dchipanalapa@gmail.com
password:Daisy123!
device_id:9bf5a481-59d4-483b-91bf-175da4e83d88
platform:android
model:Xiaomi 220733SL
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Usuario autenticado",
    "data": {
        "phone": "922749652",
        "document": "72607245",
        "full_name": "DAISY CHIPANA LAPA",
        "user": {
            "id": 89743,
            "password": "$2y$10$CnhjhSdsA7j.UqI0w7befeo6Uw4F.9qcF3pkep22CNWZXW0UM6Zmi",
            "email": "dchipanalapa@gmail.com",
            "document": "72607245",
            "full_name": "DAISY CHIPANA LAPA",
            "phone": 922749652,
            "updated_at": "2026-06-08 10:15:25"
        }
    }
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo principal → General**
    - **Evento:**
    - **Uso:** llamado desde servicios/bloc/pantallas del flujo asociado.

---

### 🖼️ Pantallazos

- **Login:**
    
    [![login.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2025-10/scaled-1680-/login.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2025-10/login.png)

### 📂 Archivos Flutter relacionados

- - lib/src\\pages\\Login\\Services\\login\_services.dart

---

### 🗒️ Notas adicionales

- - Usa Authorization Bearer generado por Internet.httpPost/httpGet.

# /api/app/auth/person/save

#####   


### Detalles técnicos

- **Endpoint: /api/app/auth/person/save**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/person/save
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/person/save</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/person/save</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/person/save</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
{
    "documento":"75685586",
    "name":"Nayra",
    "firstname":"Vega",
    "lastname":"Vela",
    "phone":"963852741"
}
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Cliente registrado correctamente",
    "data": {
        "documento": "75685586",
        "nombres": "Nayra",
        "apellido_paterno": "Vega",
        "apellido_materno": "Vela",
        "phone": 963852741,
        "email": "",
        "address": null
    },
    "campos": {
        "per_habilitado": "1"
    }
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Login → Registro**
    - **Evento:** Al presionar el boton "Guardar datos".
    - **Uso:** Registrar los datos de un nuevo persona.

---

### 🖼️ Pantallazos

- **Registro:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/FcBimage.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/FcBimage.png)

### 📂 Archivos Flutter relacionados

- - lib/src\\pages\\Login\\Services\\login\_services.dart

---

### 🗒️ Notas adicionales

- - Usa Authorization Bearer generado por Internet.httpPost/httpGet.

# /api/app/auth/phone/code

##### Solicita envio de codigo OTP.

### Detalles técnicos

- **Endpoint: /api/app/auth/phone/code**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/phone/code
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/code</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/code</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/code</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
document:72607245
phone:922749652
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Código de verificación enviado, revise su teléfono."
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Login → Registro**
    - **Evento:** al presionar el boton "Enviar codigo de verificacion".
    - **Uso:** Envia el codigo a su numero de telefono.

---

### 🖼️ Pantallazos

- **Registro Usuario**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/WU2image.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/WU2image.png)

### 📂 Archivos Flutter relacionados

- - lib/src\\pages\\Login\\Services\\login\_services.dart

---

### 🗒️ Notas adicionales

- - Usa Authorization Bearer generado por Internet.httpPost/httpGet.

# /api/app/auth/phone/verify

#####   


### Detalles técnicos

- **Endpoint: /api/app/auth/phone/verify**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/phone/verify
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/verify</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/verify</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/phone/verify</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```json
{
    "document":"72607245",
    "phone":"922749652",
    "code":"MMK7CK"
}
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Teléfono verificado con éxito."
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Login → Registro**
    - **Evento:** Al digitar todo el codigo completo.
    - **Uso:** Verifica si el codigo ingresado en correcto.

---

### 🖼️ Pantallazos

- **Registro:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/qlTimage.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/qlTimage.png)

### 📂 Archivos Flutter relacionados

- - lib/src\\pages\\Login\\Services\\login\_services.dart

---

### 🗒️ Notas adicionales

- - Usa Authorization Bearer generado por Internet.httpPost/httpGet.

# /api/app/auth/email/code

##### Solicita envio de codigo OTP.

### Detalles técnicos

- **Endpoint: /api/app/auth/email/code**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/email/code
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/code</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/code</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/code</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
document:72607245
email:dchipanalapa@gmail.com
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Clave de validación enviada, revise su correo."
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Login → Registro**
    - **Evento:** Al presionar el boton "Enviar codigo de verificacion".
    - **Uso:** Envia la clave al correo electronico.

---

### 🖼️ Pantallazos

- **Registro:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/YQbimage.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/YQbimage.png)

### 📂 Archivos Flutter relacionados

- - -

---

### 🗒️ Notas adicionales

- -

# /api/app/auth/email/verify

##### Verifica codigo OTP.

### Detalles técnicos

- **Endpoint: /api/app/auth/email/verify**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/email/verify
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
{
    "document":"72607245",
    "email":"dchipanalapa@gmail.com",
    "code":"3WP9HD"
}
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "Correo verificado."
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Inicial → Vista Login**
    - **Evento:** Al digitar todo el codigo completo.
    - **Uso:** Verifica si el codigo ingresado en correcto.

---

### 🖼️ Pantallazos

- **Registro:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/Y62image.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/Y62image.png)

### 📂 Archivos Flutter relacionados

- - -

---

### 🗒️ Notas adicionales

- -

# /api/app/auth/register

##### Registra usuario en la aplicacion.

### Detalles técnicos

- **Endpoint: /api/app/auth/register**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/register
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 135.2px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%; height: 29.6px;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%; height: 29.6px;">URL</th></tr></thead><tbody><tr style="height: 35.2px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/register</td></tr><tr style="height: 35.2px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/register</td></tr><tr style="height: 35.2px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/register</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```json
{
    "document":"72607245",
    "email":"dchipanalapa@gmail.com",
    "password":"Daisy123!!",
    "repeat":"Daisy123!!",
    "phone":"922749652",
    "device_id":"7857878b-d996-4740-85d9-f21c296c6b0e",
    "platform":"android",
    "model": "Xiaomi 21091116AG"
}
```

---

### 📤 Response

```json
{
    "success": true,
    "message": "La contraseña se creo correctamente",
    "data": {
      "name": "DAISY"
    }
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo principal → General**
    - **Evento:** Al presionar el boton "Registrarse".
    - **Uso:** Registra al usuario.

---

### 🖼️ Pantallazos

- **Registro:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/nRhimage.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/nRhimage.png)

### 📂 Archivos Flutter relacionados

- - lib/src\\pages\\Login\\Services\\login\_services.dart

---

### 🗒️ Notas adicionales

- - Usa Authorization Bearer generado por Internet.httpPost/httpGet.

# /api/app/auth/email/password

##### Servicio del modulo General.

### Detalles técnicos

- **Endpoint: /api/app/auth/email/password**
- **Método:** `POST`

### 🌐 Dominios

#### QA

```
https://qapagalo.shalom.pe/api/app/auth/email/password
```

#### Producción

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-etiqueta-url-princip"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 113px; width: 100%;"><thead class="text-left"><tr><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 23.5939%;">Etiqueta</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 76.3823%;">URL</th></tr></thead><tbody><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Principal</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/password</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Región 2</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/password</td></tr><tr><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 23.5939%; height: 35.2px;">Failover</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 76.3823%; height: 35.2px;">https://envia.shalom.pe/api/app/auth/email/password</td></tr></tbody></table>

</div>---

### 📋 Headers

<div class="overflow-x-auto w-full px-2 mb-6" id="bkmrk-clave-valor-requerid"><table class="min-w-full border-collapse text-sm leading-[1.7] whitespace-normal" style="height: 122.338px; width: 100%;"><thead class="text-left"><tr style="height: 29.6px;"><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Clave</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Valor</th><th class="text-text-100 border-b-0.5 border-[hsl(var(--border-300)/0.6)] py-2 pr-4 align-top font-bold" scope="col" style="width: 33.3651%; height: 29.6px;">Requerido</th></tr></thead><tbody><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Content-Type`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">application/x-www-form-urlencoded</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">`Authorization`</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Bearer &lt;token&gt;</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Sí</td></tr><tr style="height: 30.9125px;"><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">Api-Key-App-Rastrea</td><td style="width: 33.3651%; height: 30.9125px;">N/A</td><td class="border-b-0.5 border-[hsl(var(--border-300)/0.3)] py-2 pr-4 align-top" style="width: 33.3651%; height: 30.9125px;">No</td></tr><tr><td style="width: 33.3651%;">Accept</td><td style="width: 33.3651%;">*/*</td><td style="width: 33.3651%;">Sí</td></tr></tbody></table>

</div>### 📩 Request

```
email:dchipanalapa@gmail.com
```

---

### 📤 Response

```json
{
  "success":true,
  "message":"Enlace de recuperación de contraseña enviado, verifique su correo."
}

```

---

### 📍 Contexto funcional (Dónde se usa)

1. **Módulo Inicial → Recuperar contraseña**
    - **Evento:**
    - **Uso:**

---

### 🖼️ Pantallazos

- **Recuperar contraseña:**
    
    [![image.png](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/scaled-1680-/J1kimage.png)](https://shalom-documentation.shalomcontrol.com/uploads/images/gallery/2026-06/J1kimage.png)

### 📂 Archivos Flutter relacionados

- - -

---

### 🗒️ Notas adicionales

- -