# Actualizar Lectura Notion

***

## 📖 Espacio de Notion

No necesitas clonar una plantilla compleja ni cambiar todo tu espacio de trabajo. Este atajo funciona con cualquier base de datos pensada para almacenar y llevar un registro de lecturas personales, siempre y cuando cumpla con una estructura mínima.

Lo único que necesitas para que el atajo sea funcional es tener una base de datos con las siguientes propiedades (columnas):

1. Estado: Para saber qué libros estás leyendo actualmente.
2. Página actual: Una columna numérica para registrar tu avance.
3. Nombre del libro: El título de la página.

### Ejemplo de Estructura

A continuación, puedes ver cómo está configurado mi espacio personal. Fíjate en los nombres de las columnas, ya que el atajo utiliza estos nombres para buscar y actualizar la información.

<figure><img src="/files/O5UijfC5aN3gNTCruR6G" alt=""><figcaption><p><em>En esta imagen se ven mis libros actuales y su progreso visual.</em></p></figcaption></figure>

<figure><img src="/files/VUSWkgFlZYJPBaqn9q23" alt=""><figcaption><p>Detalle de las propiedades necesarias: "Estado" (Status) y "Página actual" (Number).</p></figcaption></figure>

## 🛠️ Requisitos previos

Para que este atajo funcione correctamente, necesitas:

* Token de Integración de Notion:&#x20;
  * Ve a <https://www.notion.so/profile/integrations>
  * Crear una nueva integración
    * Nombre: Atajo iPhone (por ejemplo)
    * Espacio asociado: (donde tengas la biblioteca de libros)
    * Tipo: Interna
  * Una vez creado, obtendremos el **Código secreto de integración interna**
* ID de la Base de Datos:&#x20;
  * Ve a tu base de datos en Notion y pulsa en los tres puntos (...) de la esquina superior derecha.
  * Selecciona "Copiar enlace" (Copy link).
  * El ID es la cadena de caracteres que se encuentra justo después de la última barra (/) y antes del signo de interrogación (?).\
    Ejemplo visual: `https://www.notion.so/tu_usuario/COPIA_SOLO_ESTO?v=...`

{% hint style="danger" %}
**Asegúrate de que tus columnas coincidan con los nombres usados en el atajo** (ej: columna "Libros" para el título, "Página actual" para el número, y estado "Leyendo").

De lo contrario, configura el atajo según tu nomenclatura de Notion
{% endhint %}

***

## 🚀 Tutorial paso a paso

{% hint style="info" %}
**El atajo realiza dos operaciones principales:** \
Buscar qué libros estás leyendo y Actualizar la página del que selecciones.
{% endhint %}

### 1. Obtener libros "Leyendo"

El primer paso es consultar a la API de Notion para filtrar solo los libros que tienen la etiqueta de estado activa.

* Bloque: **Obtener contenido de URL**
  * URL: `https://api.notion.com/v1/databases/TU_DATABASE_ID/query`
  * Método: `POST`
  * Headers:
    * `Authorization`: Bearer `tu_secret_token`
    * `Notion-Version`: `2022-06-28`
    * `Content-Type`: `application/json`
  * Cuerpo de la solicitud `JSON`
    * Añade un campo llamado `filter` y selecciona el tipo **Diccionario.**
      * Dentro de `filter`, añade un campo llamado `property`, selecciona tipo Texto y escribe el nombre de tu columna: `Estado`.
      * Dentro de `filter`, añade otro campo llamado `status` y selecciona tipo Diccionario.
        * Dentro de `status` , añade un campo llamado `equals`, selecciona tipo Texto y escribe el valor exacto: `Leyendo`.

```json
{
  "filter": {
    "property": "Estado",
    "status": {
      "equals": "Leyendo..."
    }
  }
}
```

<figure><img src="/files/K7l1DR9xKm1xzj2Izpro" alt="" width="375"><figcaption></figcaption></figure>

### 2. Procesar la lista de libros

Una vez que recibimos la respuesta de Notion, obtenemos un objeto JSON complejo. Necesitamos "entrar" en él, separar cada libro y extraer solo dos datos: el ID (para identificarlo) y el Título (para mostrarlo).

La respuesta de la API contiene metadatos que no nos interesan. La lista real de páginas está dentro de una clave llamada `results`.

1. Obtener valor del diccionario:
   * Obtener: Valor.
   * Clave: `results`.
   * De: `Contenido de URL` (El resultado del paso anterior).

Ahora que tenemos la lista de libros, iniciamos un bucle para procesarlos uno por uno.

2. Repetir con cada elemento:
   * Entrada: `Valor del diccionario` (La lista de resultados).

3\. Obtener el ID de la página: El ID es el código único que Notion asigna a cada página. Lo necesitamos para enviar la actualización después.

* Obtener valor del diccionario:
  * Clave: `id`.
  * De: `Ítem repetido`.

4\. Obtener el Título del libro: Notion guarda el título en una estructura profunda. Necesitamos navegar por varias capas: `properties` -> `Nombre de tu Columna` -> `title`.

* Obtener valor del diccionario:
  * Clave: `properties.TU_COLUMNA_DE_TITULO.title` (Ej: `properties.Libros.title`).
  * De: `Ítem repetido`.

{% hint style="danger" %}
Sustituye `TU_COLUMNA_DE_TITULO` por el nombre exacto de la columna de tu base de datos donde está el nombre del libro (ej: "Name", "Libros", "Título").
{% endhint %}

5\. Limpiar el formato del Título: El paso anterior nos devuelve una lista (array) con formato enriquecido. Para obtener solo el texto limpio:

* Obtener elemento de la lista:
  * Obtener: `Primer elemento`.
  * De: `Valor del diccionario` (El título complejo del paso 4).
* Obtener valor del diccionario:
  * Clave: `plain_text`.
  * De: `Elemento de la lista`.

Queremos que el menú muestre el Título, pero que al seleccionar, el atajo use el ID (funcional). Para ello, "disfrazamos" el ID poniéndole el Título como nombre.

6\. Nombrar archivo (Set Name):

* Entrada (Archivo): Selecciona la variable del ID (Paso 3).
* Nombre: Selecciona la variable del plain\_text / Título (Paso 5).

7\. Terminar repetición

* Aquí se cierra el bucle. El resultado final será una lista de IDs que, visualmente, parecen Títulos.

***

### 3. Selección y Entrada de Datos

Ahora que tenemos nuestra lista procesada, necesitamos que el usuario elija el libro y nos diga por dónde va.

8\. Seleccionar el libro:

* Acción: `Seleccionar de la lista`.
* Entrada: `Resultados de la repetición`.
* *En pantalla verás los Títulos de los libros gracias al paso de "Nombrar archivo" anterior.*

9\. Recuperar el ID (La lógica inversa): Al seleccionar un libro, necesitamos recuperar el ID que habíamos ocultado/empaquetado.

* Acción: `Obtener nombre`.
* Entrada: `Elemento seleccionado`.
* Definir variable: Añade la acción `Establecer variable`. Llámala `ID_LIBRO` y asígnale el resultado del nombre/archivo obtenido.

10\. Solicitar la página:

* Acción: `Solicitar entrada`.
* Pregunta: Escribe algo como *"¿Por qué página vas?"*.
* Tipo de entrada: Número.

***

### 4. Actualizar Notion (PATCH)

Con el ID del libro (quién) y el Número de página (qué), hacemos la llamada final a la API para guardar el cambio.

11\. Configurar la llamada de actualización:&#x20;

* Añade un nuevo bloque `Obtener contenido de URL` y configúralo así:
  * URL: `https://api.notion.com/v1/pages/ID_LIBRO`
    * *Nota: Asegúrate de insertar la Variable `ID_LIBRO` que creamos en el paso 9 al final de la URL.*
  * Método: `PATCH`
    * *Nota: PATCH es el método para "editar" una página existente.*
  * Headers: (Son idénticos a los del primer paso)
    * `Authorization`: Bearer `tu_secret_token`
      * `Notion-Version`: `2022-06-28`
      * `Content-Type`: `application/json`
  * En el cuerpo de la solicitud (JSON), le diremos a Notion qué propiedad cambiar. La estructura es: `properties` -> `Nombre de tu columna` -> `number`.
    * Añade un campo `properties` (Diccionario).
      * Dentro, añade `Página actual` (Diccionario).
        * *Importante: Escribe el nombre exacto de tu columna en Notion.*
        * Dentro, añade `number` (Número).
          * En el valor, selecciona la Variable (Entrada proporcionada) que obtuviste en el paso 10 (la respuesta a "¿Por qué página vas?").

El código que envía el atajo se ve así:

```json
{
  "properties": {
    "Página actual": {
       "number": 125 
    }
  }
}
```

*(Donde 125 es el número que tú has escrito).*

***

### 5. Finalización (Opcional)

Para confirmar que todo ha ido bien, puedes añadir un aviso final.

* Acción: `Mostrar notificación`.
* Texto: "¡Lectura actualizada correctamente! 📖".

¡Y listo! Ya tienes un sistema profesional para actualizar tus lecturas sin entrar en Notion.

***

## ✅ Uso del atajo

Al ejecutar el atajo:

1. Se muestra un menú con tus lecturas actuales (Estado: Leyendo).
2. Seleccionas el libro.
3. Escribes el número de página.
4. Notion se actualiza instantáneamente en segundo plano.

***

## ⬇️ Descargar atajo

{% hint style="warning" %}
Estoy preparando el atajo para descargar y configurar fácilmente
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bibliotek.gitbook.io/miwiki/configuraciones/configuraciones-ios/atajos/actualizar-lectura-notion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
