Completed

Php Api Development connecting two platforms

Published on the May 01, 2016 in IT & Programming

About this project

Open

Goal

10k Feet is a web application for accurate planning of projects and people for medium to large businesses. It allows project managers to allocate people to clients or projects, and to track availability of hours in the day as well as vacations, holidays etc. One of the main functionalities that distinguishes it from other similar softwares is the accuracy of the reporting it provides.
Unfortunately, that reporting can’t be fully utilized unless the actual hours each user works is correctly being tracked, and you’re not exclusively going by the planned hours. Which is where Axosoft comes in. Axosoft is a ticket management system that we currently use in many ways, one of which is to log user time on tickets, which are part of projects and clients.


The goal of this application, is to sync the hours logged in Axosoft, to 10k feet, and correctly assign to each user and project, in order to facilitate accurate reporting without needing users to log their time twice in two separate applications, thus saving on wasted time as well as minimizing inaccuracies due to human error.

Project Technologies
The application must be built in PHP
Project Background

Getting the data from Axosoft into 10k feet, will require familiarizing yourself with the documentation of both API’s.

The Axosoft API documentation can be found at http://developer.axosoft.com/ and is fairly comprehensive in regards to the various ways to pull data from Axosoft. You can also push data into axosoft, but that won’t be needed for the scope of this application.

The 10k Feet API documentation can be found at https://www.10000ft.com/plans/reference/api-documentation/overview. Since the goal of this application is to push data into 10k feet, it’s highly recommended that for the purposes of testing,  we use the test environment that 10k feet provides at vNext.

To access vNext, visit: vnext.10000ft.com/signup and set up an account.
This will be your development account, completely separate from your live 10,000ft Plans account.
The api end point base url is vnext-api.10000ft.com/api/v1/
To view your test account and verify changes made via the API, you can visit and login to vnext.10000ft.com.
Your production account is your live 10,000ft Plans account found at app.10000ft.com
The api end point base url is api.10000ft.com
Your vNext and production accounts will have separate API tokens that you will need to update when changing environments.

You can find more information at https://www.10000ft.com/plans/reference/integration/custom-integrations#top

Project Scope

CR01 - Pull Time Logs From Axosoft

The following fields need to be pulled from Axosoft from the worklogs API (http://developer.axosoft.com/api/work_logs.html#!/work_logs)

Item
Field Type
Description
user: id
number
The ID of the user who has the worklog
project: id
number
The project ID the worklog is associated with.
Work_done: duration_minutes
number
The work done in the log, by minutes.
Date_time
String (date and time conjoined)
The date and time of the worklog.

CR02 - Push New Time Logs to 10K Feet

From the fields pulled in CR01, any new worklogs need to be then imported into 10K Feet as follows:
(https://www.10000ft.com/plans/reference/api-documentation/time-entries#top)

You need to reference the userID with the api endpoint, e.g. /Api/v1/users/<user_id>/time_entries
From there, you need to update the following fields:

Item
Field Type
Description
project_id
number
The project ID the worklog is associated with.
Hours
number
The work done in the log, by hours
date
date
The date formatted as 2013-10-10

The ID of the newly created time entry needs to be then stored along with the axosoftID of the time log, in order to reference as needed for updating time logs

CR03 - Update Changed Time Logs to 10K Feet

From the fields pulled in CR01, any updated worklogs need to have the changes recorded in10K Feet as follows:
(https://www.10000ft.com/plans/reference/api-documentation/time-entries#top)

You need to update the following fields of whichever are relevant by matching the time entry ID previously stored:

Item
Field Type
Description
project_id
number
The project ID the worklog is associated with.
Hours
number
The work done in the log, by hours
date
date
The date formatted as 2013-10-10



CR04 - Delete Missing Time Logs from10K Feet

From the fields pulled in CR01, if there are any missing time logs, the matching created time logs in 10K Feet need to be deleted.
(https://www.10000ft.com/plans/reference/api-documentation/time-entries#top)

You need to reference the time entry ID previously stored and delete the time entry from 10K Feet

Category IT & Programming
Subcategory Web development
Is this a project or a position? Project
I currently have I have specifications
Required availability Full time
Experience in this type of projects Yes (I have managed this kind of project before)
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: Not specified

Skills needed

Other projects posted by B.