PHPackages                             mralston/epvs - 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. mralston/epvs

ActiveLibrary

mralston/epvs
=============

Library for working with the Certi-fi EPVS Validation Hub API.

v1.0.5(1y ago)0195MITPHPPHP &gt;=7.4

Since May 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/mralston/epvs)[ Packagist](https://packagist.org/packages/mralston/epvs)[ Docs](https://github.com/mralston/epvs)[ RSS](/packages/mralston-epvs/feed)WikiDiscussions main Synced today

READMEChangelog (8)Dependencies (4)Versions (9)Used By (0)

Certi-fi EPVS
=============

[](#certi-fi-epvs)

Introduction
------------

[](#introduction)

Library for working with the Certi-fi EPVS API.

Config
------

[](#config)

You may publish the config file as follows:

```
php artisan vendor:publish --tag=epvs-config
```

Add the following items to your .env file:

```
EPVS_TOKEN=
#EPVS_ENDPOINT=
```

`EPVS_TOKEN` is set up on the EPVS Validation Hub web interface at:

> Account Settings &gt; Personal Access Tokens &gt; API Keys &gt; Create Token

`EPVS_ENDPOINT` may be uncommented and specified if Certi-fi provide a custom API endpoint. In most cases however, the package's default value of `https://validationhub.co.uk/api/v1` will be sufficient.

Usage
-----

[](#usage)

Here are how the basic functions of the library work:

```
use Mralston\Epvs\Facades\Epvs;

$validations = Epvs::getValidations(); // Illuminate\Support\Collection

$validation = Epvs::showValidation(123); // Mralston\Epvs\Models\Validation

$newValidation = Epvs::createValidation([ // Mralston\Epvs\Models\Validation
    'product_type_id' => 234,
    'customer_first_name' => 'Test Michael',
    'customer_last_name' => 'Test Burnham',
    'customer_phone' => '01234567890',
    'customer_email' => 'michael.burnham@starfleet.com',
    'installation_address_line_1' => 'USS Discovery',
    'installation_address_line_2' => 'null',
    'installation_address_line_3' => 'null',
    'installation_area_town' => 'Space',
    'installation_county' => 'Cosmos',
    'installation_postcode' => 'SP4 0CE',
    'payment_method_id' => 2,
    'finance_lender_id' => 9,
    'finance_reference' => '54321-0987',
    'finance_term_length' => 36,
    'finance_broker_id' => 8,
    'insurance_provider_id' => 6,
    'ibg_policy_number' => '1234',
    'sales_person_name' => 'Gabriel Lorca',
    'total_contract_value' => 15123,
    'deposit_paid' => 650,
    'date_contract_signed' => '2024-05-03',
    'file_empty_warning' => 1,
    'file_tokens' => [],
]);
```

Webhooks
--------

[](#webhooks)

Webhook can be configured on your EPVS Validation Hub portal, allowing you to receive real-time updates, for example when the status of a validation changes.

The following Artisan command generates the URL of each webhook, ready to be pasted into the EPVS Validation Hub:

```
$ php artisan epvs:webhooks
```

Add a new webhook on your profile page on the EPVS Validation Hub and copy and paste the URL provided.

Whenever the status of a validation changes or another webhook-backed event occurs, a `WebhookRecieved` event will be fired in your application. The `data` property contains information about the event. In the case of a VALIDATION\_STATUS\_UPDATED event, the data property will contain an array similar to the following:

```
(
    [validation_id] => 2
    [status_id] => 1
    [status_name] => Validated
)

```

The following statuses are currently defined by the EPVS Validation Hub:

Status IDStatus Name1Validated2Awaiting Compliance Call3Cancelled Worked4Cancelled Not Worked5Declined6Further Info Requested7Pending8RegisteredSecurity Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please [e-mail security vulnerabilities directly to me](mailto:matt@mralston.co.uk).

Licence
-------

[](#licence)

PDF is open-sourced software licenced under the [MIT license](LICENSE.md).

###  Health Score

30

—

LowBetter than 67% of packages

Maintenance44

Moderate activity, may be stable

Popularity14

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 ~35 days

Recently: every ~50 days

Total

8

Last Release

436d ago

Major Versions

v0.0.2 → v1.0.02024-06-16

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/248387?v=4)[Matt](/maintainers/mralston)[@mralston](https://github.com/mralston)

---

Top Contributors

[![mralston](https://avatars.githubusercontent.com/u/248387?v=4)](https://github.com/mralston "mralston (11 commits)")

---

Tags

laravelmralstonepvs

### Embed Badge

![Health badge](/badges/mralston-epvs/health.svg)

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

PHPackages © 2026

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