Primeros Pasos con API (beta)

Timesheets.com ahora ofrece una API para uso del cliente.

Panel Inicial:

https://secure.timesheets.com/api/public/v1/index.cfm

Documentación:

1.0.1

Hay algunas cosas a tener en cuenta al hacer uso de la API:

  • Todas las solicitudes requieren un encabezado con una clave API y un token de autorización. El token de autorización lo autentica como un usuario específico de su cuenta de Timesheets.com.
  • Actualmente, solo el administrador principal está autorizado para generar credenciales de API para sí mismo. Esto es para simplificar la seguridad de la API y las solicitudes que se le envían.
  • Demasiados intentos de autenticación fallidos para un token darán como resultado un bloqueo cronometrado de más solicitudes. La API en general tiene un límite de velocidad de cinco solicitudes cada sesenta segundos para cualquier clave de API específica.
  • Importante: Trate sus claves/tokens como contraseñas y manténgalas en secreto. Cuando trabaje con la API, use claves/tokens como variables de entorno en lugar de codificarlos en sus programas.

Hay dos métodos para generar credenciales para la API:

  1. Cuando haya iniciado sesión en Timesheets.com como administrador principal, vaya a «Herramientas» en el menú de la izquierda.
  2. En el menú «Herramientas», navegue hasta «Generar claves API».
  3. Utilice el botón ‘Generar credenciales’ para generar una clave de API y un token de autorización. El resultado también contendrá los pares de nombre y valor del encabezado.

OR

  1. Use el punto final /auth/token desde el tablero de Taffy (o cualquier otro método que desee)
  2. Publique su nombre de usuario y contraseña de administrador principal de Timesheets.com. Si la cuenta está activa y en buen estado, se devolverá una respuesta con los valores de la clave API, el token y el nombre del encabezado.

Una vez que se hayan creado una apikey (clave API) y un token de autorización, envíe los siguientes encabezados con su solicitud:

apikey: [apikey]
x-ts-authorization: [token]

Los nombres de encabezado que se muestran aquí pueden diferir a los que aparecerán en la respuesta al generar las credenciales. Utilice los nombres proporcionados en la respuesta.

Para cualquier otra solicitud en Taffy: abra el punto final, haga clic en Agregar encabezado, pegue el encabezado, configure su solicitud y envíela.

Acerca de las Solicitudes

Para mantener la API simple para el consumo de datos, se han omitido las respuestas complejas y los códigos de error. Todas las solicitudes que se autentiquen con éxito devolverán una respuesta 200. La respuesta indicará errores o los datos solicitados.

La mayoría de los puntos finales (endpoints) devolverán un JSON estructurado de la siguiente manera:

{
errors: [],
data: []
}

Si se detectaron errores en la solicitud (como parámetros faltantes o no válidos), la clave de errores contendrá una lista de mensajes en inglés sencillo. En su mayor parte, estos son los mismos mensajes de error de la interfaz de usuario que vería al utilizar la propia aplicación. Si la matriz de errores está vacía, la clave de datos contendrá los datos solicitados. Esto puede y variará según el punto final.

Todos los datos de consulta se devuelven en formato de columna con una clave de columna que enumera los campos en orden y una clave de datos con los datos correspondientes.

Nota: Algunas claves pueden aparecer en Mayúsculas y otras en CamelCase. Esto se debe a las idiosincrasias en la clasificación automática de datos dentro del marco de la aplicación en el que estamos construidos.

Errores en la Clave

Los valores de codigo y sus claves pueden ser extraidas del punto final /server/constants del API. Esto retornara el nombre del error/alerta (e.g. PAYROLL_CODE_LOCKED = 2)

CodeDescripción
PAYROLL_CODE_PROCESSED = «0»

Nómina procesada exitosamente
El reporte de nómina fue generado como Resumen y no contiene entradas de horas
PAYROLL_CODE_SUMMARY_ONLY = «1»El reporte de nómina fue generado como Resumen y no contiene entradas de horas
PAYROLL_CODE_LOCKED = «2»El El reporte de nómina esta bloqueado y no puede ser procesado por el usuario actual
PAYROLL_CODE_INVALID_DATES = «3»El reporte de nómina contiene fechas inválidas
PAYROLL_CODE_NO_RECORDS_FOUND = «4»No hay entradas validas para las fechas de nómina
PAYROLL_CODE_OVERLAPPING_PERIODS = «5»Los usuarios incluidos en el periodo de nómina estan superpuestos en otro reporte de nómina
PAYROLL_CODE_OVERLAPPING_RECORDS = «6»Usuarios incluidos en la nómina tienen entradas superpuestas
PAYROLL_CODE_ALERTS_EXIST = «7»Hay alertas existentes en entradas incluidas en este reporte de nómina
PAYROLL_CODE_PROCESS_VALIDATION_ERROR = «8»Hubo un error intentando validar las entradas de nómina a procesar
PAYROLL_CODE_PROCESS_VALIDATION_FAILED = «9»Hay entradas en el reporte de nómina que han sido modificadas
PAYROLL_CODE_DUPLICATE_USERS_FOUND = «10»Se detectaron usuarios duplicados en el reporte de nómina
PAYROLL_CODE_NO_USERS_INCLUDED = «11»No hay usuarios incluidos en el reporte
PAYROLL_CODE_UNPAID_RECORDS_EXISTS = «12»Hay entradas no pagadas que existen antes de las fechas de nómina
PAYROLL_CODE_STANDARD_SPLITPAID_RECORDS_EXISTS = «13»Hay entradas por hora divididas existentes en el reporte de nómina
PAYROLL_CODE_SALARIED_SPLITPAID_RECORDS_EXISTS = «14»Hay entradas asalariadas divididas existentes en el reporte de nómina
PAYROLL_CODE_INVALID_RUNBYID = «15»El usuario intentando generar la nómina no esta autorizado
PAYROLL_CODE_INVALID_APPEND_PAYROLLID = «16»Intento de anexar a nómina invalida
PAYROLL_CODE_USERS_ALREADY_EXIST_IN_PAYROLL = «17»Intento de agregar usuarios a un reporte de nómina que ya existe
PAYROLL_CODE_USERS_HAVE_POSTDATED_PAYROLL = «18»Intento de agregar usuarios a un reporte de nómina ya existe en una nómina previa
PAYROLL_CODE_INVALID_PAYROLLID = «19»ID de nómina no es valido
PAYROLL_CODE_INVALID_PARTIAL_USER_DELETE = «20»La lista de usuarios parciales a borrar no es valida para el periodo de nómina
PAYROLL_CODE_INVALID_TIMEZONE_FOR_PERIOD = «21»Hay multiples zonas horarias en el periodo de nómina para un usuario
PAYROLL_CODE_NONSEQUENTIAL_RECORDS = «22»Entradas no-secuenciales fueron detectadas generando la nómina
PAYROLL_CODE_INVALID_ACCRUAL_SETTINGS_FOR_USER = «23»Hay uno o mas usuarios con ajustes de acumulacion por horas invalida
PAYROLL_CODE_RECORDS_EXCEED_MAX_THRESHOLD = «24»Hay entradas en el reporte de nómina identificadas como en exceso del maximo limite especificado

¿Le resultó útil este artículo?

Artículos Relacionados