PHPackages                             gisforgirard/timecamp-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. gisforgirard/timecamp-api

ActiveLibrary

gisforgirard/timecamp-api
=========================

PHP wrapper for Timecamp API

3783PHP

Since Apr 24Pushed 4y ago4 watchersCompare

[ Source](https://github.com/gisforgirard/php-timecamp-api)[ Packagist](https://packagist.org/packages/gisforgirard/timecamp-api)[ RSS](/packages/gisforgirard-timecamp-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

php-timecamp-api
================

[](#php-timecamp-api)

A [Timecamp](http://www.timecamp.com/) PHP client. Presents returned data from the [Timecamp API](https://github.com/timecamp2/timecamp-api) as associative arrays.

Installation
------------

[](#installation)

```
$ composer require gisforgirard/php-timecamp-api
```

Usage
-----

[](#usage)

```
// Require composer autoloader
require "vendor/autoload.php";

$timecamp_client = new Timecamp\Connection('xxxxxxxxxxxxxxxxxxxxxxxx');
$activities = $timecamp_client->ComputerActivities()->getActivity($params);

foreach ($activities as $this_activity) {
    $app_id    = $this_activity['application_id'];
    $window_id = $this_activity['window_title_id'];
    echo $app_id." - ".$window_id."\n";
}
```

Authentication
--------------

[](#authentication)

Authentication is very simple. You must pass your Timecamp API token when instantiating `Timecamp\Connection`. Example:

```
$timecamp_client = new Timecamp\Connection('xxxxxxxxxxxxxxxxxxxxxxxx');
```

To get your API token go to [your Timecamp Account Settings](https://www.timecamp.com/people/edit).

Client methods
--------------

[](#client-methods)

### Users

[](#users)

Return all users from account.

**Example**

```
$users = $timecamp_client->Users()->all();
foreach ($users as $this_user) {
    $all_users[$this_user['user_id']] = $this_user;
}
$users = $all_users;
print_r($users);
```

### Tasks

[](#tasks)

these are all functions based exactly on the timecamp api itself, just pass an array of key =&gt; var you want to send to the server... anyway there's more specific info in the respective files...

$users = $timecamp\_client-&gt;Users()-&gt;get($array);

$users = $timecamp\_client-&gt;Users()-&gt;post($array);

$users = $timecamp\_client-&gt;Users()-&gt;put($array);

### TimeEntries

[](#timeentries)

works the same as Tasks (and all the other functions for the most part as well)

$time\_entries = $timecamp\_client-&gt;TimeEntries()-&gt;get($array);

$time\_entries = $timecamp\_client-&gt;TimeEntries()-&gt;post($array);

$time\_entries = $timecamp\_client-&gt;TimeEntries()-&gt;put($array);

### Attendance

[](#attendance)

$attendance = $timecamp\_client-&gt;Attendance()-&gt;get($array);

### AwayTime

[](#awaytime)

$attendance = $timecamp\_client-&gt;AwayTime()-&gt;get($array);

### Clients

[](#clients)

$clients = $timecamp\_client-&gt;Clients()-&gt;all();

$clients = $timecamp\_client-&gt;Clients()-&gt;update($array);

$clients = $timecamp\_client-&gt;Clients()-&gt;add($array);

### Invoices

[](#invoices)

$invoices = $timecamp\_client-&gt;Invoices-&gt;all();

$invoices = $timecamp\_client-&gt;Invoices()-&gt;update($array);

$invoices = $timecamp\_client-&gt;Invoices()-&gt;add($array);

### Timer

[](#timer)

$timer = $timecamp\_client-&gt;Timer-&gt;all($array);

$timer = $timecamp\_client-&gt;Timer-&gt;status($array);

$timer = $timecamp\_client-&gt;Timer-&gt;stop($array);

### ComputerActivities (probably want to look at the individual files or documentation here, things are a bit different)

[](#computeractivities-probably-want-to-look-at-the-individual-files-or-documentation-here-things-are-a-bit-different)

$activities = $timecamp\_client-&gt;ComputerActivities()-&gt;getActivity('2014-03-07');

$activities = $timecamp\_client-&gt;ComputerActivities()-&gt;getApplication(6319,2132);

$activities = $timecamp\_client-&gt;ComputerActivities()-&gt;getWindowTitle(1,2);

$activities = $timecamp\_client-&gt;ComputerActivities()-&gt;addActivity($array);

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b91439e102f92544574a6fcb67e863c81f76a80a92f97ba64a29cee000fdd3d2?d=identicon)[gisforgirard](/maintainers/gisforgirard)

---

Top Contributors

[![gisforgirard](https://avatars.githubusercontent.com/u/17693551?v=4)](https://github.com/gisforgirard "gisforgirard (17 commits)")[![d3n4](https://avatars.githubusercontent.com/u/1435022?v=4)](https://github.com/d3n4 "d3n4 (6 commits)")

### Embed Badge

![Health badge](/badges/gisforgirard-timecamp-api/health.svg)

```
[![Health](https://phpackages.com/badges/gisforgirard-timecamp-api/health.svg)](https://phpackages.com/packages/gisforgirard-timecamp-api)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
