Se añadió un API para TA a partir de BioStar 2 (2.8.13)

NOTA:

Para “Cómo usar la GUI Swagger para el API de TA”, consulte el siguiente enlace:

[BioStar 2 API para TA] Como usar e iniciar con el API de BioStar 2 para TA

 

Otras funciones de API disponibles en TA Swagger (se tratarán en otros documentos de guía)

  • Funciones relacionadas con el código de tiempo
  • Funciones relacionadas con el cambio
  • Funciones relacionadas con la plantilla de programación
  • La regla relaciona funciones
  • Programar funciones relacionadas
  • Funciones relacionadas con el registro de perforación

 

 

Cómo usar TA Report

La llamada de API [POST] /report.json genera los datos de informe adecuados en formato JSON.

*El informe TA tiene una variedad de tipos de informes: Informe diario, Informe individual, Informe de licencia, Excepto informe, Informe de edición de historial y más. La Parte 3 de este artículo cubrirá algunos de ellos al proporcionar órganos de solicitud sugeridos para tales informes.

 

Parte 1. Llamada y parámetros de API

 

[POST]: /report.json

[Parámetros]

Nombre

Tipo

*M/O

Descripción

Valor

Limit

Int

M

# of results to show

 

Offset

Int

O

Results data offset

 

Type

String

M

“CUSTOM” or “callCreateReport”

“CUSTOM”

Start_datetime

Datetime

M

The start DateTime of the report range.

YYYY-MM-DD

End_datetime

Datetime

O

The end DateTime of the report range.

YYYY-MM-DD

User_id_list

Array

M

List of the users for the report

 

Group_id_list

Array

O

List of the group_id for the report

 

Report_type

String

M

Report type

“Report_Daily” and more

Report_filter_type

String

O

 

 

Language

String

M

Language of the report

“en”

Rebuild_time_card

Boolean

M

Rebuild time or not

“true”

Columns

Array

M

Column settings

Empty to bring all default columns

* M – Obligatorio, O – Opcional

 

Parte 2. Cuerpo de solicitud y modelo de respuesta

[Ejemplo de modelo de valor/parámetros]

{

    "limit": 50,

       "offset": 0,

       "type": "CUSTOM",

       "start_datetime": "2021-07-01",

       "end_datetime": "2021-07-30",

    "user_id_list": [

        "1", "2"

    ],

       "group_id_list": [

           "1"

    ],

       "report_type": "REPORT_DAILY",

       "report_filter_type": "",

       "language": "en",

       "rebuild_time_card": true,

       "columns": [

        {}   

    ]

} 

[Respuesta: exitosa]

{

"message": "Procesado correctamente",

"message_key": "EXITOSO",

"idioma": "en",

"status_code": "EXITOSO",

"registros": [

{

"datetime": "2021/07/15",

"userName": "admin",

"userId": "1",

"userGroupName": "Todos los usuarios",

"shift": "Caso 17",

"overtimeRuleShift": false,

"dejar": "-",

"inTime": "08:00:00 ( 08:00:00 )",

"outTime": "-",

"isInTimeNextDay": false,

"isOutTimeNextDay": false,

"excepción": "Falta Punch Out, Falta el inicio del descanso, Falta el final del descanso + 1, Falta el inicio de la comida, Falta el final de la comida + 1",

"exceptionForView": [

{

"name": "Missing Punch Out",

"código": "6"

},

{

"name": "Missing Break Start",

"código": "9"

},

{

"name": "Missing Break End",

"código": "10"

},

{

"name": "Missing Break End",

"código": "10"

},

{

"name": "Missing Meal Start",

"código": "7"

},

{

"name": "Missing Meal End",

"código": "8"

},

{

"name": "Missing Meal End",

"código": "8"

}

],

"normalRegular": "2:00:00",

"normalOvertime": "0:00:00",

"punchBreak": "3:00:00",

"overBreak": "0:00:00",

"mealTime": "3:00:00",

"totalWorkTime": "5:00:00",

"regularByTimeRate": "2:00:00",

"overtimeByTimeRate": "0:00:00"

},

{

"datetime": "2021/07/15",

"userName": "Sharon",

"userId": "2",

"userGroupName": "Todos los usuarios",

"shift": "Caso 17",

"overtimeRuleShift": false,

"dejar": "-",

"inTime": "-",

"outTime": "-",

"isInTimeNextDay": false,

"isOutTimeNextDay": false,

"excepción": "Ausencia",

"exceptionForView": [

{

"nombre": "Ausencia",

"código": "2"

}

],

"normalRegular": "0:00:00",

"normalOvertime": "0:00:00",

"punchBreak": "0:00:00",

"overBreak": "0:00:00",

"mealTime": "0:00:00",

"totalWorkTime": "0:00:00",

"regularByTimeRate": "0:00:00",

"overtimeByTimeRate": "0:00:00"

}

],

"total": 2

}

[Respuesta: Fail]

{

"mensaje": "rebuild_time_card es necesario.",

"message_key": "REQUIRED_FIELD",

"idioma": "en",

"status_code": "REQUIRED_FIELD"

}

 

Parte 3. Cuerpo de llamadas sugeridos para diferentes tipos de informes

*Al cambiar el parámetro "report_type", puede llamar a diferentes tipos de informes desde BioStar 2.

 

3-1. Informe individual

[Cuerpo de llamada]

{

"límite": 50,

"offset": 0,

"type": "callCreateReport",

"start_datetime": "2020-12-07",

"end_datetime": "2020-12-07",

"report_type": "REPORT_INDIVIDUAL",

"report_filter_type": "INDIVIDUAL_FILTER_SUMMARY",

"user_id_list": [

"1",

"2",

"3"

],

"idioma": "en",

"rebuild_time_card": verdadero,

"columnas": [

{

"name": "report.userName",

"field": "userName",

"displayName": "Nombre",

"leaveType": false

},

{

"name": "report.userId",

"field": "userId",

"displayName": "UserID",

"leaveType": false

},

{

"nombre": "informe.departamento",

"field": "userGroupName",

"displayName": "Departamento",

"leaveType": false

},

{

"name": "timeCard.regularHours",

"field": "normalRegular",

"displayName": "Regularhours",

"leaveType": false

},

{

"name": "timeCard.overtimeHours",

"field": "normalHoras extraordinarias",

"displayName": "Horas extras",

"leaveType": false

},

{

"name": "report.totalWorkTime",

"field": "totalWorkTime",

"displayName": "TotalWorkHours",

"leaveType": false

},

{

"name": "reportHeader.absence",

"campo": "ausencia",

"displayName": "NoofAbsence",

"leaveType": false

},

{

"name": "reportHeader.insufficientWorkTime",

"field": "tiempo de trabajo insuficiente",

"displayName": "NoofInsufficientWorkTime",

"leaveType": false

},

{

"name": "reportHeader.lateIn",

"field": "lateIn",

"displayName": "NoofLateIn",

"leaveType": false

},

{

"name": "reportHeader.earlyOut",

"field": "earlyOut",

"displayName": "NoofEarlyOut",

"leaveType": false

},

{

"name": "reportHeader.missingEventType",

"field": "missingEventType",

"displayName": "NoofMissingEventType",

"leaveType": false

},

{

"name": "reportHeader.missingPunchIn",

"field": "missingPunchIn",

"displayName": "NoofMissingPunchIn",

"leaveType": false

},

{

"name": "reportHeader.missingPunchOut",

"field": "missingPunchOut",

"displayName": "NoofMissingPunchOut",

"leaveType": false

}

],

"sort_columns": [],

"userCustomFields": {}

}

 

[Respuesta: exitosa]

{

"message": "Procesado correctamente",

"message_key": "EXITOSO",

"idioma": "en",

"status_code": "EXITOSO",

"registros": [

{

"hidden_user_id": "1",

"userName": "admin (1 : Todos los usuarios) ",

"$$treeLevel": 0,

"normalRegular": "0:00:00",

"normalOvertime": "0:00:00",

"totalWorkTime": "0:00:00",

"punchBreak": "0:00:00",

"overBreak": "0:00:00",

"mealTime": "0:00:00",

"regularByTimeRate": "0:00:00",

"overtimeByTimeRate": "0:00:00"

},

{

"hidden_user_id": "2",

"userName": "Sharon (2 : Todos los usuarios ) ",

"$$treeLevel": 0,

"normalRegular": "0:00:00",

"normalOvertime": "0:00:00",

"totalWorkTime": "0:00:00",

"punchBreak": "0:00:00",

"overBreak": "0:00:00",

"mealTime": "0:00:00",

"regularByTimeRate": "0:00:00",

"overtimeByTimeRate": "0:00:00"

}

],

"total": 2

}

 

3-2. Informe de licencia

[Cuerpo de llamada]

{

"límite": 50,

"offset": 0,

"type": "callCreateReport",

"start_datetime": "2020-12-07",

"end_datetime": "2020-12-07",

"report_type": "REPORT_LEAVE",

"user_id_list": [

"1"

],

"sort_columns": [],

"filtro": [],

"columnas": [

{

"nombre": "informe.fecha",

"field": "datetime",

"displayName": "Fecha"

},

{

"name": "report.userName",

"field": "userName",

"displayName": "Nombre"

},

{

"name": "report.userId",

"field": "userId",

"displayName": "ID de usuario"

},

{

"nombre": "informe.departamento",

"field": "userGroupName",

"displayName": "Departamento"

},

{

"name": "report.shift",

"campo": "shift",

"displayName": "Shift"

},

{

"nombre": "report.leave",

"campo": "abandonar",

"displayName": "Salir"

},

{

"name": "reportHeader.leavePeriod",

"field": "leavePeriod",

"displayName": "Período de licencia"

}

],

"rebuild_time_card": verdadero,

"consulta": {

"idioma": "en"

}

}

 

3-3. Informe de excepción

[Cuerpo de llamada]

{

"límite": 50,

"offset": 0,

"type": "callCreateReport",

"report_type": "REPORT_EXCEPTION",

"start_datetime": "2020-12-07",

"end_datetime": "2020-12-07",

"user_id_list": [

"1",

"2",

"3"

],

"sort_columns": [],

"filtro": [],

"columnas": [

{

"nombre": "informe.fecha",

"field": "datetime"

},

{

"name": "report.userName",

"field": "userName"

},

{

"name": "report.userId",

"field": "userId"

},

{

"nombre": "informe.departamento",

"field": "userGroupName"

},

{

"name": "report.shift",

"campo": "shift"

},

{

"nombre": "report.leave",

"campo": "salir"

},

{

"nombre": "timeCard.in",

"field": "inTime"

},

{

"name": "timeCard.out",

"field": "outTime"

},

{

"name": "report.exception",

"campo": "excepción"

},

{

"name": "timeCard.regularHours",

"field": "normalRegular"

},

{

"name": "timeCard.overtimeHours",

"field": "normalHoras extraordinarias"

},

{

"name": "report.totalWorkTime",

"field": "totalWorkTime"

}

],

"rebuild_time_card": verdadero,

"consulta": {

"idioma": "en"

}

}

 

3-4. Editar informe de historial

[Cuerpo de llamada]

{

"límite": 50,

"offset": 0,

"type": "callCreateReport",

"report_type": "REPORT_EDIT_HISTORY",

"start_datetime": "2020-12-07",

"end_datetime": "2020-12-07",

"user_id_list": [

"1",

"2",

"3"

],

"sort_columns": [],

"filtro": [],

"columnas": [

{

"nombre": "informe.fecha",

"field": "datetime"

},

{

"name": "report.userName",

"field": "userName"

},

{

"name": "report.userId",

"field": "userId"

},

{

"nombre": "informe.departamento",

"field": "userGroupName"

},

{

"name": "report.shift",

"campo": "shift"

},

{

"nombre": "report.leave",

"campo": "salir"

},

{

"nombre": "timeCard.in",

"field": "inTime"

},

{

"name": "timeCard.out",

"field": "outTime"

},

{

"name": "report.exception",

"campo": "excepción"

},

{

"name": "timeCard.regularHours",

"field": "normalRegular"

},

{

"name": "timeCard.overtimeHours",

"field": "normalHoras extraordinarias"

},

{

"name": "report.totalWorkTime",

"field": "totalWorkTime"

}

],

"rebuild_time_card": verdadero,

"consulta": {

"idioma": "en"

}

}

 

 

Parte 4. Report.json a través de Postman

 

[Ejemplo de solicitud: encabezados]

*Debe iniciar sesión para usar la API [POST] /report.json.

*A diferencia de be-session-id para AC New Local API, bs-ta-session-id debe enviarse en la cookie. Bs-ta-session-id se envía automáticamente en la cookie una vez que inicia sesión a través de la API de inicio de sesión de TA.

 

[Ejemplo de llamada]

텍스트이(가) 표시된 사진

자동 생성된 설명

 

[Ejemplo de respuesta: cuerpo]

텍스트이(가) 표시된 사진

자동 생성된 설명