Introducción
Este servicio web sirve para actualizar la información de tu catálogo de cursos. De esta forma puedes enviar información desde otro entorno de datos a gesforma.
También es posible consultar un curso a partir del código/referencia del mismo.
Proceso de consumo
Se utiliza el protocolo de comunicación HTTP.
Los pasos serían:
- Autenticarte
- Se requiere autenticación HTTP mediante los datos de acceso de un usuario de Gesforma con perfil de coordinador (loginname y contraseña).
- Para aumentar la seguridad en el consumo del servicio aconsejamos activar el token API de tu cuenta (más info)
- Consumir el servicio (debes solicitarnos que te proporcionemos la URL)
- Solicitud: se envía en formato JSON
- Respuesta: se recibe una respuesta en formato JSON.
Diagrama para creación/actualización de un curso
Solicitud (llamada)
Usa notación JSON con la siguiente estructura.
Los elementos obligatorios para la creación del registro son:
- nombre
- nombre_corto
- id_modalidad
- id_area
Para actualizar un registro es necesario enviar el elemento codigo más los elementos que se quieren actualizar.
Si el valor del elemento recibido no existe en la bbdd, se procesará la petición como un alta y es necesario enviar los elementos obligatorios para procesarla.
nota: no es necesario enviar todos los elementos para realizar una actualización, se actualizarán solo los elementos enviados.
Para consultar los datos de un curso basta con enviar sólamente el parámtero codigo del mismo.
Elementos | Tipo de Dato | Posibles Valores/Rango | Descripción |
---|---|---|---|
publico | Booleano | 0 (falso), 1 (verdadero) | Indica si el registro está publicado en el catálogo de cursos público de Gesforma (1) o no (0) |
baja | Booleano | 0 (falso), 1 (verdadero) | Indica si el registro está dado de baja (1) o no (0) |
codigo | string | Texto (hasta 100 caracteres) | Código identificador |
comentarios | string | Texto (hasta 64KB) | Comentarios adicionales |
contenido_sin_formato | string | Texto (hasta 16MB) | Contenido sin ningún formato específico |
horas | float | Número decimal | Total de horas |
horas_presencial | float | Número decimal | Horas de formación presencial |
horas_teleformacion | float | Número decimal | Horas de teleformación |
id_area | int | Número entero | ID del área |
id_area_profesional_sepe | int | Número entero | ID del área profesional SEPE |
id_categoria | int | Número entero | ID de la categoría |
id_etiquetas | Array | Array de enteros | IDs de etiquetas asociadas |
id_familia_sepe | int | Número entero | ID de la familia SEPE |
id_modalidad | int | Número entero | ID de la modalidad |
id_proveedor | int | Número entero | ID del proveedor principal |
id_proveedor2 | int | Número entero | ID del segundo proveedor |
id_proveedor_scorm | int | Número entero | ID del proveedor SCORM |
nombre | string | Texto (hasta 255 caracteres) | Nombre completo |
nombre_corto | string | Texto (hasta 50 caracteres) | Nombre abreviado o corto |
objetivos_sin_formato | string | Texto (hasta 16MB) | Objetivos sin formato para Fundae |
contenidos_sin_formato | string | Texto (hasta 16MB) | Contenidos sin formato para Fundae |
contenido_con_formato | string | Texto (hasta 16MB) | Contenidos con formato en HTML |
precio | decimal | Decimal (10 dígitos, 2 decimales separados por un punto) | Precio principal |
precio2 | decimal | Decimal (10 dígitos, 2 decimales separados por un punto) | Segundo precio |
precio_coste | decimal | Decimal (10 dígitos, 2 decimales separados por un punto) | Precio de coste |
url_tienda_online | string | Texto (hasta 1024 caracteres) | URL de la tienda online |
url_imagen_catalogo | string | Texto (hasta 1024 caracteres) | URL de la imagen de la portada del curso. (se rescata la imagen y se guarda el archivo en el servidor) |
Ejemplo
Object {
publico:"1",
baja: "0",
codigo: "CAP1",
comentarios: "comentarios",
contenido_sin_formato: "contenido",
contenido_con_formato: "contenido",
horas: 40,
horas_presencial: 10,
horas_teleformacion: 30,
id_area: "5",
id_area_profesional_sepe: "12",
id_categoria: "",
id_etiquetas: Array [],
id_familia_sepe: "",
id_modalidad: 1,
id_proveedor: "100",
id_proveedor2: "100",
id_proveedor_scorm: "100",
nombre: "TEST0000",
nombre_corto: "T",
objetivos_sin_formato: "objetivos",
precio: "400.45",
precio2: "500.67",
precio_coste: "300"
url_tienda_online: "url",
url_image_portada: "url",
}
Respuesta
Usa notación JSON con la siguiente estructura.
Se envía en todos los casos al terminar el proceso.
Campo | Tipo de Dato | Posibles Valores/Rango | Descripción |
---|---|---|---|
success | int | 0, 1 | Indica si la operación fue exitosa (1) o no (0) |
accion | string | "alta", "modi" | Acción realizada: alta o modificación del curso comunicado |
id | int | Número entero | ID identificador |
nombre | string | Texto (hasta 150 caracteres) | Nombre del objeto o entidad |
Ejemplo
Object { success: 1, accion: "modi", id: "141622", nombre: "TEST0000" }
Ejemplo de uso en javascript
Errores devueltos
- 'error_code' => 10,
'error_message'=> "Usuario $usuario/$password no encontrado", - 'error_code' => 100,
'error_message'=> "El objeto no tiene estructura de curso", - 'error_code' => 101,
'error_message' => "codigo es un campo requerido", - 'error_code' => 300,
'error_message'=> "Error de transacción",
Log de registros
Existe un log de registros accesible desde el propio programa a través de la opción de menú principal Cuenta/Informes/Formación/Log de cursos.
Se muestra una tabla con los siguientes datos:
- id
nº de registro del log - Fecha
fecha y hora de la acción - Código
código público del curso - Datos
Resumen de los datos actualizados - Conversión
Si se ha actualizado el registro - Id curso
nº de registro curso en G. - Acción
A: alta
M: modificación
B: baja
C: Consulta
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo