Download the PHP package amattu2/golo365-wrapper without Composer
On this page you can find all versions of the php package amattu2/golo365-wrapper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download amattu2/golo365-wrapper
More information about amattu2/golo365-wrapper
Files in amattu2/golo365-wrapper
Package golo365-wrapper
Short Description A Golo365.com and X431.com API wrapper class for interacting with their hidden diagnostic APIs.
License AGPL-3.0-or-later
Informations about the package golo365-wrapper
Introduction
What is Golo365?
Golo365 is the underlying data connection service behind many automotive diagnostic computers and equipment. Device manufacturers, such as Launch Tech LTD and Matco Tools rely on them for various services. The goal of this API wrapper is to simplify access to Golo365's extremely undocumented API endpoints, and to allow for independent individuals or companies to integrate critical data connections between Golo365 and their own proprietary services.
How can I use this wrapper?
The end goal of the wrapper is to remove the concept of relying the handheld diagnostic computer, as well as the physical connection to the vehicle, in order to retrieve diagnostic history for a vehicle. This is possible because Golo365 (i.e. AIT / DBSCAR / X431) stores the scan history in the cloud. Here are some ways you can use this API wrapper to facilitate a connection between your service (e.g. a Shop Management System) and Golo365:
- Fetch Diagnostic Scan History reports by License Plate or VIN numbers
- Perform a VIN-to-License plate decode
- Perform a License-to-VIN decode
- ... More integrations coming soon
Need More?
I've put an extensive amount of Golo365 research into the DOCUMENTATION.md file also details endpoints discovered but not implemented yet.
Contributions
Many hours days of research and development went into discovering these entirely undocumented API endpoints. If you have an unlisted Golo365 endpoint, or know something that isn't listed in this repository, please reach out via a GitHub Issue or Pull Request.
Postman / Thunder Client
This repository comes with a Thunder Client collection for the Golo365 API. To use it, visit .vscode/thunder-client and import the json into your VS Code Thunder Client extension.
Usage
The function documentation is below. Alternatively, see the example.php
file included with the repository for hands-on demonstrations of various functionality.
Install
__construct
The class constructor accepts only optional arguments.
If a reporting device serial_no
is provided, any search/reporting queries that use the optional serial_no
argument will be provided with this serial number. See the variable documentation in the class for notes on what this argument is.
The service
argument defines which Golo365 service to report/receive data from. If your diagnostic tablet is built for the U.S., it's likely that all of your device-generated reports will reside within the AITUS service.
setSerialNo
This function returns the class instance, which enables function call chaining.
An empty or invalid serial_no
argument will result in the serial_no
being returned to the default.
setListSize
For the API endpoints that support pagination, this specifies the number of results per page. This function supports chaining.
A size
of 0 or below results in the removal of a size pagination limitation.
reportListByVIN
This function fetches all reported diagnostic events for the provided VIN.
Output
Notes
- To access the raw API data (messy), you can use the closure function available via the
_raw
index. - You may call the
reportDetail
function via the_reportDetail
index; it takes no arguments as they are derived from the current element.
reportListByPlateNumber
Output
Notes
- The reliability of this function is dependent on end-users reporting the License Plate Number during the diagnostic session. If this was not done, those results will not be included in the return value. If possible, use
reportListByVIN
instead. - To access the raw API data (messy), you can use the closure function available via the
_raw
index. - You may call the
reportDetail
function via the_reportDetail
index; it takes no arguments as they are derived from the current element.
reportList
This function fetches all reports produced by a device serial number. It accepts one optional argument. The serial number provided during class instantiation (or via setSerialNo
) is used.
Output
Notes
- To access the raw API data (messy), you can use the closure function available via the
_raw
index. - You may call the
reportDetail
function via the_reportDetail
index; it takes no arguments as they are derived from the current element.
reportDetail
This endpoint provides additional details about a diagnostic event record; such as which systems were scanned, which software was used, etc.
Output
Notes
- To access the raw data from this array, call the anonymous function (closure)
_raw
getPlateByVIN
This function will return a license plate number associated with a VIN number. Important see the notes about this endpoint below.
Output
Notes
- This endpoint relies on user-inputted data to return a matching plate number. This endpoint does not rely on a government data source, and could easily provide incorrect information.
- To access raw API data, simply call the
_raw
closure object
getVINByPlateNumber
This function is the inverse of getPlateByVIN
, and returns a VIN number when provided a license plate number. Important see the notes about this endpoint below.
Output
Notes
- This endpoint does not rely on a government data source. It relies on the data passed when a diagnostic device is submitting a diagnostic event. Unless the plate number was reported during this diagnostic event, no results will be returned.
- The only raw data returned is
vin
andplate_number
; but for consistency sake, the_raw
closure object is still available for accessing the raw API data.
To-Do
- upload_report_data
- upload_accessory_info
- mergeMultiReport
Requirements & Dependencies
- PHP7+
- cURL Extension