PHPackages                             ocolin/wisdm - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. ocolin/wisdm

ActiveLibrary[HTTP &amp; Networking](/categories/http)

ocolin/wisdm
============

REST Client for WISDM Wireless API

v3.0.1(2mo ago)18MITPHP

Since Oct 3Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/ocolin/Wisdm)[ Packagist](https://packagist.org/packages/ocolin/wisdm)[ RSS](/packages/ocolin-wisdm/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (9)Versions (10)Used By (0)

WISDM
=====

[](#wisdm)

What is it?
-----------

[](#what-is-it)

This is a PHP REST client for the WISDM API interface. WISDM is a service for wireless ISPs that provide the ability to determine which areas are serviceable from a wireless access point.

---

Table of Contents
-----------------

[](#table-of-contents)

- [What is it?](#What-is-it?)
- [Requirements](#Requirements)
- [Installation](#Installation)
- [Configuration](#Configuration)
    - [Instantiation with environment variables](#Instantiation-with-environment-variables)
    - [Instantiation with constructor arguments](#Instantiation-with-constructor-arguments)
    - [Optional arguments](#Optional-arguments)
- [Response](#Response)
- [Path Parameter Interpolation](#Path-Parameter-Interpolation)
- [Methods](#Methods)
    - [GET](#GET)
    - [POST](#POST)
    - [PATCH](#PATCH)
    - [DELETE](#DELETE)
    - [REQUEST](#REQUEST)
    - [UPLOAD](#UPLOAD)

---

Requirements
------------

[](#requirements)

- ^PHP 8.2
- guzzlehttp/guzzle ^7.10
- ocolin/global-type ^2.0

---

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

[](#installation)

```
composer require ocolin/wisdm

```

---

Configuration
-------------

[](#configuration)

Wisdm requires two pieces of information. The server hostname, and your authentication token/key. These can be configured via environment or though constructor arguments using a Config data object.

Environment nameConstructor argumentTypeDescriptionWISDM\_API\_HOST$hoststringServer hostnameWISDM\_API\_KEY$tokenstringAuthentication key/token### Instantiation with environment variables

[](#instantiation-with-environment-variables)

```
// Manual variables for demonstration
$_ENV['WISDM_API_HOST'] = 'https://wisdm.wirelesscoverage.com/api';
$_ENV['WISDM_API_KEY'] = 'abcdefg';
$wisdm = new Ocolin\Wisdm\Wisdm();
```

### Instantiation with constructor arguments

[](#instantiation-with-constructor-arguments)

```
$wisdm = new Ocolin\Wisdm\Wisdm(
    config: new Ocolin\Wisdm\Config(
         host: 'https://wisdm.wirelesscoverage.com/api',
        token: 'abcdefg'
    );
);
```

### Optional arguments

[](#optional-arguments)

You can also pass along Guzzle HTTP configuration options such as HTTP timeouts, verification of SSL, etc different from the defaults.

```
// Manual variables for demonstration
$_ENV['WISDM_API_HOST'] = 'https://wisdm.wirelesscoverage.com/api';
$_ENV['WISDM_API_KEY'] = 'abcdefg';
$wisdm = new Ocolin\Wisdm\Wisdm(
    config: new Ocolin\Wisdm\Config( options: [ 'timeout' => 60 ] )
);
```

---

Response
--------

[](#response)

The client responds with an object containing the following properties:

NameTypeDescriptionstatusintegerHTTP status codestatusMessagestringHTTP status messageheadersarrayHTTP response headerscontentTypestringHTTP body content typebodyobject|arrayAPI payload body---

Path Parameter Interpolation
----------------------------

[](#path-parameter-interpolation)

Any elements or properties of a $query argument that match variable tokens in the URI endpoint path will be replaced with the values for those elements in the $query array or object. Please see some of the method functions for examples.

---

Methods
-------

[](#methods)

### GET

[](#get)

Get a resource from the API.

```
$output = $wisdm->get(
    endpoint: '/availability/{id}/check', query: [ 'id' => 1234 ]
);
```

### POST

[](#post)

Create a resource on the API.

```
$output = $wisdm->post(
    endpoint: '/networks',
    body: [
        'name'  => 'MySiteName',
        'color' => '#808080'
    ]
);
```

### PATCH

[](#patch)

Update a resource on the API.

```
$output = $widnm->patch(
    endpoint: '/networks/{id}',
    query: [ 'id' => 1234 ],
    body: [ 'name' => 'MyNewSiteName' ]
);
```

### DELETE

[](#delete)

Delete a resource on the API.

```
$output = $wisdm->delete(
    endpoint: '/networks/{id}',
    query: [ 'id' => 1234 ]
);
```

### REQUEST

[](#request)

In case changes are made to the API, a generic request function is available.

```
$output = $wisdm->request(
     endpoint: '/availability/{id}/check',
       method: 'GET',
        query: [ 'id' => 1234 ]
);
```

### UPLOAD

[](#upload)

Several API calls use a multi-part request body for uploading files and data. The uploads() function can be used for those.

```
$output = $wisdm->upload(
    endpoint: '/networks/import-networks',
    filePath: __DIR__ . '/sites_template.csv',
    body: [
        'colour' => '#808080',
        'site_name_field' => 'Site_Name'
    ]
);
```

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance83

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

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

Every ~69 days

Recently: every ~105 days

Total

9

Last Release

86d ago

Major Versions

1.4 → 2.02025-05-21

2.0 → v3.0.02026-04-08

### Community

Maintainers

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

---

Top Contributors

[![ocolin](https://avatars.githubusercontent.com/u/8870196?v=4)](https://github.com/ocolin "ocolin (6 commits)")

---

Tags

apirestwirelesswispwisdm

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ocolin-wisdm/health.svg)

```
[![Health](https://phpackages.com/badges/ocolin-wisdm/health.svg)](https://phpackages.com/packages/ocolin-wisdm)
```

###  Alternatives

[xeroapi/xero-php-oauth2

Xero official PHP SDK for oAuth2 generated with OpenAPI spec 3

1054.7M18](/packages/xeroapi-xero-php-oauth2)[onesignal/onesignal-php-api

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com

34216.9k2](/packages/onesignal-onesignal-php-api)[dreamfactory/df-core

DreamFactory(tm) Core Components

1652.1k38](/packages/dreamfactory-df-core)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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