PHPackages                             digitalscout/api-client - 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. [API Development](/categories/api)
4. /
5. digitalscout/api-client

ActiveLibrary[API Development](/categories/api)

digitalscout/api-client
=======================

A partner API client for Digital Scout

1.0.0(11y ago)016PHPPHP &gt;=5.4.0

Since Apr 21Pushed 10y ago2 watchersCompare

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

READMEChangelogDependencies (2)Versions (2)Used By (0)

Digital Scout Partner API PHP Client
====================================

[](#digital-scout-partner-api-php-client)

This is a sample PHP library for partners to interact with the Digital Scout API for managing games, scores, and ID mappings.

Feel free to provide pull requests, as this was written by someone with little PHP experience.

### Installation

[](#installation)

The recommended way to install this library is through [Composer](http://getcomposer.org).

```
# Install Composer (Linux/OSX)
curl -sS https://getcomposer.org/installer | php
```

Next, run the Composer command to install the latest stable version of this library:

```
composer.phar require digitalscout/api-client
```

After installing, you need to require Composer's autoloader:

```
require 'vendor/autoload.php';
```

### Usage

[](#usage)

An API key is required to access this API. Please contact Digital Scout if you require one.

```
$client = new DigitalScout\Api("api.hsgamecenter.com", $apiKey);

//create a game
$newGame = new DigitalScout\Models\Game([
		"Sport" => "Football",
		"StartTime" => new DateTime("2015-09-01T23:00:00.000Z")
		"Participants" => [
			['SchoolId' => $school1Id, 'Level' => 'Varsity', 'Gender' => 'Male'],
			['SchoolId' => $school2Id, 'Level' => 'Varsity', 'Gender' => 'Male']
		],
		"HomeSchoolId" => $school1Id
	]);

$createdGame = $client->games->createGame($newGame);

//load a game
$loadedGame = $client->games->getGame($createdGame->Id);

//change the time for a game
$loadedGame->StartTime = new DateTime("2015-10-01T23:00:00.000Z");
$updatedGame = $client->games->updateGame($loadedGame);

//add scores to a game
$scoreUpdate = new DigitalScout\Models\GameScores([
		"Scores" => [
			["SchoolId" => $school1Id, "Period" => 1, "Score" => 0 ],
			["SchoolId" => $school1Id, "Period" => 2, "Score" => 7 ],
			["SchoolId" => $school1Id, "Period" => 3, "Score" => 0 ],
			["SchoolId" => $school1Id, "Period" => 4, "Score" => 7 ],
			["SchoolId" => $school2Id, "Period" => 1, "Score" => 7 ],
			["SchoolId" => $school2Id, "Period" => 2, "Score" => 0 ],
			["SchoolId" => $school2Id, "Period" => 3, "Score" => 7 ],
			["SchoolId" => $school2Id, "Period" => 4, "Score" => 0 ]
		]
	]);

$client->games->updateGameScore($updatedGame->Id, $scoreUpdate);
```

### Error Handling

[](#error-handling)

Most common errors are handled and have custom error types. The following types of custom exceptions can be thrown:

- DigitalScout\\Models\\Errors\\UnprocessableEntityException
- DigitalScout\\Models\\Errors\\UnauthorizedException
- DigitalScout\\Models\\Errors\\ForbiddenException
- DigitalScout\\Models\\Errors\\NotFoundException
- DigitalScout\\Models\\Errors\\ApiClientException (catchall exception type)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4045d ago

### Community

Maintainers

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

---

Top Contributors

[![ldhertert](https://avatars.githubusercontent.com/u/212201?v=4)](https://github.com/ldhertert "ldhertert (5 commits)")

### Embed Badge

![Health badge](/badges/digitalscout-api-client/health.svg)

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

###  Alternatives

[googleads/googleads-php-lib

Google Ad Manager SOAP API Client Library for PHP

67410.3M25](/packages/googleads-googleads-php-lib)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

553.3M7](/packages/checkout-checkout-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[zepgram/module-rest

Technical module to industrialize API REST call with dependency injection pattern using Guzzle library

1326.2k](/packages/zepgram-module-rest)

PHPackages © 2026

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