Guía para desarrolladores: Integración de ITG CMS
⚠️ Importante:
Para todos los servicios (API REST) del CMS se debe enviar un token de autenticación en el encabezado de la solicitud que corresponde al token de autenticación de un usuario con acceso al CMS.
- El accessToken necesario para autenticación en la API debe obtenerse de la cookie de sesión del usuario autenticado en la interfaz gráfica del CMS.
- La variable cms-hostname debe ser proporcionada por el equipo de soporte del CMS ITGlobers.
Esta guía proporciona un paso a paso detallado para desarrolladores que necesitan integrar el CMS de ITGlobers en sus proyectos. Desde la creación de un usuario, la configuración de proyectos y secciones (JSON Schema), hasta la gestión de versiones y páginas, aquí entenderás cómo automatizar la carga del contenido vía API.
- Creación de usuario y acceso al CMS
- Creación de un proyecto
- Carga del JSON Schema de los componentes (Sections)
- Creación de versiones
- Creación de páginas dentro de una versión
1. Creación de usuario y acceso al CMS
Una vez que ITGlobers habilita una cuenta en el CMS, se proporciona un usuario principal que tendrá acceso inicial a la plataforma. Este usuario podrá:
- Iniciar sesión en el CMS.
- Agregar nuevos usuarios.
- Configurar los primeros proyectos.
Acceso al CMS:
Nota: El usuario principal recibirá las credenciales de acceso y podrá ingresar al sistema a través de la URL proporcionada.
2. Creación de un proyecto
Los proyectos son la base estructural del CMS, ya que agrupan todos los componentes, versiones y páginas asociadas.
📌 Métodos para crear un proyecto
✅ Opción 1: Desde el CMS (Interfaz gráfica)
- Iniciar sesión en el CMS.
- En el menú lateral en la sección Proyectos.
- Hacer clic en “Crear proyecto” y completar la información requerida.
- Obtener el ID del proyecto: Una vez creado, el ID se puede encontrar en la URL después del path /projects.
✅ Opción 2: Desde la API Puedes crear un proyecto vía API enviando una solicitud POST:
End-point: Create project Method: POST
cms-hostname/projects
Body (raw)
{
"name": "Mobile App",
"description": "Development project for the client's mobile app.",
"status": "active",
"tags": ["FW3", "React Native"]
}🔑 Authentication bearer
| Param | value | Type |
|---|---|---|
| token | accessToken | string |
⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃
📌 El ID del proyecto se obtiene en la respuesta en la propiedad id.
3. Carga del JSON Schema de los componentes (Sections)
Una vez creado el proyecto, es necesario definir los componentes que estarán disponibles para la gestión de contenido. Estos se cargan únicamente por API utilizando un JSON Schema.
End-point: Create sections Method: POST
cms-hostname/projects/:projectId/sections
Body (raw)
[
{
"name": "image-background",
"schema": {
"title": "Image Background",
"type": "object",
"properties": {
"image": {
"type": "string",
"title": "Image",
"description": "URL of the image to be displayed as background."
},
"className": {
"type": "string",
"title": "Class Name",
"description": "Unique class name to be appended to block classes."
}
}
}
}
]🔑 Authentication bearer
| Param | value | Type |
|---|---|---|
| token | accessToken | string |
⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃
📌 Consideraciones importantes:
- Todos los componentes cargados se asocian al proyecto y estarán disponibles en todas sus versiones.
- Esta operación reemplaza completamente la configuración anterior, por lo que se recomienda mantener un control de versiones del JSON Schema en un repositorio o en la propia aplicación.
4. Creación de versiones
Las versiones permiten gestionar diferentes estados del contenido sin afectar a los usuarios que aún no han actualizado su aplicación.
📌 Métodos para crear una versión
✅ Opción 1: Desde el CMS (Interfaz gráfica)
- Acceder al proyecto.
- Hacer clic en “Nueva versión” y asignarle un nombre (v1, v2, etc.).
- Obtener el ID de la versión, el cual aparece en la URL después del path /versions.
✅ Opción 2: Desde la API Puedes crear una versión vía API enviando una solicitud POST:
End-point: Create Method: POST
cms-hostname/versions
Body (raw)
{
"version_number": "v10",
"status": "draft",
"created_by": "brian.carmona@itglobers.com",
"comments": "Initial version of the content.",
"project_id": "{{projectId}}"
}🔑 Authentication bearer
| Param | value | Type |
|---|---|---|
| token | accessToken | string |
⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃
📌 El ID de la versión se obtiene en la respuesta en la propiedad id.
📌 Importante:
- La versión no está directamente relacionada con la versión de la aplicación, permitiendo flexibilidad en su gestión.
- Se pueden mantener múltiples versiones activas al mismo tiempo y conectar cada una a una versión específica de la aplicación según las necesidades.
5. Creación de páginas dentro de una versión
Una versión del CMS está compuesta por páginas, que organizan el contenido en secciones.
📌 Métodos para crear páginas
✅ Opción 1: Desde el CMS (Interfaz gráfica)
- Acceder a la versión deseada.
- Crear una nueva página.
- Agregar manualmente el contenido mediante la interfaz del CMS.
✅ Opción 2: Desde la API Puedes crear páginas vía API, y opcionalmente, enviar el contenido en la misma petición.
End-point: Create Method: POST
cms-hostname/pages
Body (raw)
{
"name": "Product",
"project_id": "{{projectId}}",
"version_id": "{{versionId}}",
"sections": [
{
"id": "1714059020348",
"name": "shipping-options",
"data": {
"options": [
{
"text": "Domicilio",
"link": "Delivery"
},
{
"text": "Recoger en tienda",
"link": "Pickup"
}
],
"className": "shipping-options"
}
}
]
}🔑 Authentication bearer
| Param | value | Type |
|---|---|---|
| token | accessToken | string |
⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃
📌 Consideraciones clave:
- Si creas las páginas desde el CMS, primero debes crear la página y luego asignar el contenido manualmente.
- Si creas las páginas vía API, puedes incluir el contenido directamente en la petición.
- Los IDs de los componentes (sectionId) deben coincidir con los IDs definidos en el JSON Schema cargado previamente.
Resumen del proceso
1️⃣ Se crea un usuario principal en el CMS.
2️⃣ Se crea un proyecto (vía API o CMS) y se obtiene su ID.
3️⃣ Se cargan los componentes (Sections) vía API, asegurando que se mantenga un control de versiones.
4️⃣ Se crea una versión del proyecto (vía API o CMS) y se obtiene su ID.
5️⃣ Se crean las páginas dentro de la versión (vía API o CMS), asegurando que los componentes coincidan con los sectionId previamente cargados.
🔍 Más información
📘 Manual de usuario: Para entender cómo gestionar el contenido desde la interfaz del CMS.
📘 Referencias de API: Para integraciones y personalizaciones técnicas avanzadas.