Servicio web: Cursos

Modificado el Vie, 18 Oct a 2:52 P. M.

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:

  1. Autenticarte
    1. Se requiere autenticación HTTP mediante los datos de acceso de un usuario de Gesforma con perfil de coordinador (loginname y contraseña).
    2. Para aumentar la seguridad en el consumo del servicio aconsejamos activar el token API de tu cuenta (más info)
  2. Consumir el servicio (debes solicitarnos que te proporcionemos la URL)
  3. Solicitud: se envía en formato JSON
  4. 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.


ElementosTipo de DatoPosibles Valores/RangoDescripción
publicoBooleano0 (falso), 1 (verdadero)Indica si el registro está publicado en el catálogo de cursos público de Gesforma (1) o no (0)
bajaBooleano0 (falso), 1 (verdadero)Indica si el registro está dado de baja (1) o no (0)
codigostringTexto (hasta 100 caracteres)Código identificador

comentariosstringTexto (hasta 64KB)Comentarios adicionales
contenido_sin_formatostringTexto (hasta 16MB)Contenido sin ningún formato específico
horasfloatNúmero decimalTotal de horas
horas_presencialfloatNúmero decimalHoras de formación presencial
horas_teleformacionfloatNúmero decimalHoras de teleformación
id_areaintNúmero enteroID del área
id_area_profesional_sepeintNúmero enteroID del área profesional SEPE
id_categoriaintNúmero enteroID de la categoría
id_etiquetasArrayArray de enterosIDs de etiquetas asociadas
id_familia_sepeintNúmero enteroID de la familia SEPE
id_modalidadintNúmero enteroID de la modalidad
id_proveedorintNúmero enteroID del proveedor principal
id_proveedor2intNúmero enteroID del segundo proveedor
id_proveedor_scormintNúmero enteroID del proveedor SCORM
nombrestringTexto (hasta 255 caracteres)Nombre completo
nombre_cortostringTexto (hasta 50 caracteres)Nombre abreviado o corto
objetivos_sin_formatostringTexto (hasta 16MB)Objetivos sin formato para Fundae
contenidos_sin_formatostringTexto (hasta 16MB)Contenidos sin formato para Fundae
contenido_con_formatostringTexto (hasta 16MB)Contenidos con formato en HTML




preciodecimalDecimal (10 dígitos, 2 decimales separados por un punto)Precio principal
precio2decimalDecimal (10 dígitos, 2 decimales separados por un punto)Segundo precio
precio_costedecimalDecimal (10 dígitos, 2 decimales separados por un punto)Precio de coste
url_tienda_onlinestringTexto (hasta 1024 caracteres)URL de la tienda online
url_imagen_catalogostringTexto (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.

CampoTipo de DatoPosibles Valores/RangoDescripción
successint0, 1Indica si la operación fue exitosa (1) o no (0)
accionstring"alta", "modi"Acción realizada: alta o modificación del curso comunicado
idintNúmero enteroID identificador
nombrestringTexto (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

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo