# Recuperar contenido de Slack

## Recuperar el contenido de Slack

{% openapi src="<https://983989491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeFTiuIsKOMpUEE73g7bP%2Fuploads%2Fgit-blob-77b6137eeb641262ec8e531c78123c02b825b865%2Frememberizer_openapi.yml?alt=media&token=03079f98-60fe-4914-9e1b-443e008fd108>" path="/discussions/{discussion\_id}/contents/" method="get" %}
[rememberizer\_openapi.yml](https://983989491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeFTiuIsKOMpUEE73g7bP%2Fuploads%2Fgit-blob-77b6137eeb641262ec8e531c78123c02b825b865%2Frememberizer_openapi.yml?alt=media\&token=03079f98-60fe-4914-9e1b-443e008fd108)
{% endopenapi %}

### Ejemplos de Solicitudes

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X GET \
  "https://api.rememberizer.ai/api/v1/discussions/12345/contents/?integration_type=slack&from=2023-06-01T00:00:00Z&to=2023-06-07T23:59:59Z" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

{% hint style="info" %}
Reemplace `YOUR_JWT_TOKEN` con su token JWT real y `12345` con un ID de discusión real.
{% endhint %}
{% endtab %}

{% tab title="JavaScript" %}

```javascript
const getSlackContents = async (discussionId, from = null, to = null) => {
  const url = new URL(`https://api.rememberizer.ai/api/v1/discussions/${discussionId}/contents/`);
  url.searchParams.append('integration_type', 'slack');
  
  if (from) {
    url.searchParams.append('from', from);
  }
  
  if (to) {
    url.searchParams.append('to', to);
  }
  
  const response = await fetch(url.toString(), {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_JWT_TOKEN'
    }
  });
  
  const data = await response.json();
  console.log(data);
};

// Obtener contenidos de Slack de la semana pasada
const toDate = new Date().toISOString();
const fromDate = new Date();
fromDate.setDate(fromDate.getDate() - 7);
const fromDateStr = fromDate.toISOString();

getSlackContents(12345, fromDateStr, toDate);
```

{% hint style="info" %}
Reemplace `YOUR_JWT_TOKEN` con su token JWT real y `12345` con un ID de discusión real.
{% endhint %}
{% endtab %}

{% tab title="Python" %}

```python
import requests
from datetime import datetime, timedelta

def get_slack_contents(discussion_id, from_date=None, to_date=None):
    headers = {
        "Authorization": "Bearer YOUR_JWT_TOKEN"
    }
    
    params = {
        "integration_type": "slack"
    }
    
    if from_date:
        params["from"] = from_date
    
    if to_date:
        params["to"] = to_date
    
    response = requests.get(
        f"https://api.rememberizer.ai/api/v1/discussions/{discussion_id}/contents/",
        headers=headers,
        params=params
    )
    
    data = response.json()
    print(data)
```

{% endtab %}
{% endtabs %}

## Obtener contenidos de Slack de la última semana

to\_date = datetime.now().isoformat() + "Z" from\_date = (datetime.now() - timedelta(days=7)).isoformat() + "Z"

get\_slack\_contents(12345, from\_date, to\_date)

````

{% hint style="info" %}
Reemplace `YOUR_JWT_TOKEN` con su token JWT real y `12345` con un ID de discusión real.
{% endhint %}
{% endtab %}
{% endtabs %}

## Parámetros de Ruta

| Parámetro      | Tipo    | Descripción                                                                 |
|----------------|---------|-----------------------------------------------------------------------------|
| discussion_id  | entero  | **Requerido.** El ID del canal de Slack o discusión para recuperar contenidos. |

## Parámetros de Consulta

| Parámetro | Tipo | Descripción |
|-----------|------|-------------|
| integration_type | string | **Requerido.** Establecer en "slack" para recuperar contenido de Slack. |
| from | string | Hora de inicio en formato ISO 8601 en GMT+0. Si no se especifica, el valor predeterminado es ahora. |
| to | string | Hora de finalización en formato ISO 8601 en GMT+0. Si no se especifica, son 7 días antes del parámetro "from". |

## Formato de Respuesta

```json
{
  "discussion_content": "Usuario A [2023-06-01 10:30:00]: ¡Buenos días equipo!\nUsuario B [2023-06-01 10:32:15]: ¡Buenos días! ¿Cómo está todos hoy?\n...",
  "thread_contents": {
    "2023-06-01T10:30:00Z": "Usuario C [2023-06-01 10:35:00]: @Usuario A ¡Estoy muy bien, gracias por preguntar!\nUsuario A [2023-06-01 10:37:30]: ¡Me alegra escuchar eso @Usuario C!",
    "2023-06-02T14:15:22Z": "Usuario D [2023-06-02 14:20:45]: Aquí está la actualización sobre el proyecto...\nUsuario B [2023-06-02 14:25:10]: ¡Gracias por la actualización!"
  }
}
````

### Respuestas de Error

| Código de Estado | Descripción                |
| ---------------- | -------------------------- |
| 404              | Discusión no encontrada    |
| 500              | Error interno del servidor |

Este endpoint recupera el contenido de un canal de Slack o de una conversación de mensaje directo. Devuelve tanto los mensajes principales del canal (`discussion_content`) como las respuestas en hilo (`thread_contents`). Los datos están organizados cronológicamente e incluyen información del usuario, lo que facilita la comprensión del contexto de las conversaciones.

Los parámetros de rango de tiempo te permiten centrarte en períodos específicos, lo que es particularmente útil para revisar la actividad reciente o discusiones históricas.
