Biblioteki programistyczne SDK dla PHP, Python, JavaScript i C# kalkulatora kodów odblokowujących radioodtwarzacze w samochodach.
Aby skorzystać ze wszystkich funkcji Kalkulatora Kodów Do Radia API, użyj gotowych pakietów SDK
dla swojego języka programowania.
Usługa Web API
bazuje na prostym zapytaniu POST i odpowiedzi zakodowanej w postaci JSON.
W celu szybszego wdrożenia, paczki instalacyjne interfejsu Web API zostały wgrane na popularne repozytoria, a ich kody źródłowe zostały dodatkowo opublikowane na GitHubie:
Język | Instalacja | SDK | Źródła |
---|---|---|---|
Uruchom komendę:
lub dodaj do sekcji
|
Packagist | GitHub | |
pip install radio-code-calculator |
PyPI | GitHub | |
Uruchom komendę:
lub dodaj do sekcji
|
npm | GitHub |
Każdy kalkulator wymaga innego formatu danych wejściowych, takich jak numer seryjny radia, aby poprawnie wygenerować kod odblokowujący. W przypadku podania błędnego formatu danych nie będzie możliwe wygenerowanie kodu odblokowującego.
Formaty danych są weryfikowane w bibliotece programistycznej w trybie online oraz opcjonalnie w trybie offline. Poniżej prezentujemy wymagane formaty dla danych wejściowych:
Model | Opis | Długość | RegEx (PCRE) | |
---|---|---|---|---|
Renault i Dacia | PreCode, gdzie pierwszy znak to zawsze litera A..Z, a po niej występują trzy cyfry 0..9. | 4 | /^([A-Z]{1}[0-9]{3})$/ |
|
Ford M Seria | Pre code składa się z sześciu cyfr (zignoruj i NIE WPISUJ pierwszej literki M). | 6 | /^([0-9]{6})$/ |
|
Ford V Seria | Pre code składa się z sześciu cyfr (zignoruj i NIE WPISUJ pierwszej literki V). | 6 | /^([0-9]{6})$/ |
|
Ford TravelPilot EX, FX i NX | Ostatnie 7 cyfr numeru seryjnego. | 7 | /^([0-9]{7})$/ |
|
Toyota ERC | Kod ERC składa się z 16 cyfr i liter. | 16 | /^([A-Z0-9]{16})$/i |
|
Jeep Cherokee | Numer seryjny składa się z 14 znaków i cyfr (pomiń spacje). Upewnij się, że kod dostawcy (ang. supplier code) zaczyna się od cyfr 17719 . |
14 | /^([A-Z0-9]{10}[0-9]{4})$/i |
|
Chrysler Panasonic TM9 | Ostatnie 4 cyfry numeru seryjnego. Upewnij się, że numer seryjny rozpoczyna się od znaków TM9 np. T M9 XXX X X1234 . |
4 | /^([0-9]{4})$/ |
|
Chrysler Dodge Uconnect VP2 | Ostatnie 4 znaki numeru seryjnego. Upewnij się, że numer seryjny rozpoczyna się od znaków TVPQN i to radio model VP2 . |
4 | /^([A-Z0-9]{4})$/ |
|
Fiat Stilo i Bravo (Visteon) | Pre code składa się z sześciu cyfr (zignoruj i NIE WPISUJ pierwszej literki M). | 6 | /^([A-Z0-9]{6})$/i |
|
Fiat DAIICHI MOPAR | Ostatnie 4 cyfry numeru seryjnego (zignoruj i NIE WPISUJ pierwszej literki). | 4 | /^([0-9]{4})$/i |
|
Fiat 250 i 500 VP1/VP2 | Kod zaczyna się od znaków A2C i 16 cyfr. Wpisz jedynie ostatnie 4 cyfry numeru seryjnego. | 4 | /^([0-9]{4})$/i |
|
Nissan PIN Immobilizera | Kod schowka składa się z 12 cyfr i liter. | 12 | /^([A-Z0-9]{12})$/i |
|
Eclipse ESN | Kod ESN składa się z 6 cyfr i liter. | 6 | /^([A-Z0-9]{6})$/i |
|
Jaguar Alpine | Ostatnie 5 cyfr numeru seryjnego. | 5 | /^([0-9]{5})$/ |
W tym przykładzie zaprezentowane jest generowanie kodu dla wybranego modelu radiowego. Cała walidacja parametrów wejściowych odbywa się po stronie serwera i jeśli numer seryjny radia będzie posiadał nieprawidłową długość lub wzorzec - usługa zwróci błąd.
<?php declare(strict_types=1);
/******************************************************************************
*
* Radio Code Calculator API - WebApi interface usage example
*
* In this example, we will demonstrate how to generate a code for a specific
* type of car radio.
*
* Version : v1.1.5
* PHP : >= 8
* Dependencies : cURL
* Author : Bartosz Wójcik (support@pelock.com)
* Project : https://www.pelock.com/products/radio-code-calculator
* Homepage : https://www.pelock.com
*
* @link https://www.pelock.com/products/radio-code-calculator
* @copyright Copyright (c) 2021-2024 PELock LLC
* @license Apache-2.0
*
/*****************************************************************************/
//
// include Radio Code Calculator API module
//
use PELock\RadioCodeCalculator\RadioCodeCalculator;
use PELock\RadioCodeCalculator\RadioErrors;
use PELock\RadioCodeCalculator\RadioModels;
//
// create Radio Code Calculator API class instance (we are using our activation key)
//
$myRadioCodeCalculator = new RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD");
//
// generate radio code (using Web API)
//
list($error, $result) = $myRadioCodeCalculator->calc(RadioModels::get(RadioModels::FORD_M_SERIES), "123456");
switch($error)
{
case RadioErrors::SUCCESS: echo "Radio code is " . $result["code"]; break;
case RadioErrors::INVALID_RADIO_MODEL: echo "Invalid radio model (not supported)"; break;
case RadioErrors::INVALID_SERIAL_LENGTH: echo "Invalid serial number length (expected " . $result["serialMaxLen"] . " characters)"; break;
case RadioErrors::INVALID_SERIAL_PATTERN: echo "Invalid serial number regular expression pattern (expected " . $result["serialRegexPattern"]["php"] . " regex pattern)"; break;
case RadioErrors::INVALID_SERIAL_NOT_SUPPORTED: echo "This serial number is not supported"; break;
case RadioErrors::INVALID_EXTRA_LENGTH: echo "Invalid extra data length (expected " . $result["extraMaxLen"] . " characters)"; break;
case RadioErrors::INVALID_EXTRA_PATTERN: echo "Invalid extra data regular expression pattern (expected " . $result["extraRegexPattern"]["php"] . " regex pattern"; break;
case RadioErrors::INVALID_INPUT: echo "Invalid input data"; break;
case RadioErrors::INVALID_COMMAND: echo "Invalid command sent to the Web API interface"; break;
case RadioErrors::INVALID_LICENSE: echo "Invalid license key!"; break;
default: echo "Something unexpected happen while trying to login to the service (error code {error})."; break;
}
#!/usr/bin/env python
###############################################################################
#
# Radio Code Calculator API - WebApi interface usage example
#
# In this example, we will demonstrate how to generate a code for a specific
# type of car radio.
#
# Version : v1.1.0
# Language : Python
# Author : Bartosz Wójcik
# Project : https://www.pelock.com/products/radio-code-calculator
# Homepage : https://www.pelock.com
#
###############################################################################
#
# include Radio Code Calculator API module
#
from radio_code_calculator import *
#
# create Radio Code Calculator API class instance (we are using our activation key)
#
myRadioCodeCalculator = RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD")
#
# generate radio code (using Web API)
#
error, result = myRadioCodeCalculator.calc(RadioModels.FORD_M_SERIES, "123456")
if error == RadioErrors.SUCCESS:
print(f'Radio code is {result["code"]}')
elif error == RadioErrors.INVALID_RADIO_MODEL:
print("Invalid radio model (not supported)")
elif error == RadioErrors.INVALID_SERIAL_LENGTH:
print(f'Invalid serial number length (expected {result["serialMaxLen"]} characters)')
elif error == RadioErrors.INVALID_SERIAL_PATTERN:
print(f'Invalid serial number regular expression pattern (expected {result["serialRegexPattern"]["python"]} regex pattern)')
elif error == RadioErrors.INVALID_SERIAL_NOT_SUPPORTED:
print("This serial number is not supported")
elif error == RadioErrors.INVALID_EXTRA_LENGTH:
print(f'Invalid extra data length (expected {result["extraMaxLen"]} characters)')
elif error == RadioErrors.INVALID_EXTRA_PATTERN:
print(f'Invalid extra data regular expression pattern (expected {result["extraRegexPattern"]["python"]} regex pattern)')
elif error == RadioErrors.INVALID_INPUT:
print("Invalid input data")
elif error == RadioErrors.INVALID_COMMAND:
print("Invalid command sent to the Web API interface")
elif error == RadioErrors.INVALID_LICENSE:
print("Invalid license key")
elif error == RadioErrors.ERROR_CONNECTION:
print("Something unexpected happen while trying to login to the service.")
else:
print(f'Unknown error {error}')
"use strict";
/******************************************************************************
*
* Radio Code Calculator API - WebApi interface usage example
*
* In this example, we will demonstrate how to generate a code for a specific
* type of car radio.
*
* Version : v1.1.5
* JS : ES6
* Dependencies : radio-code-calculator
* Author : Bartosz Wójcik (support@pelock.com)
* Project : https://www.pelock.com/products/radio-code-calculator
* Homepage : https://www.pelock.com
*
* @link https://www.pelock.com/products/radio-code-calculator
* @copyright Copyright (c) 2021-2024 PELock LLC
* @license Apache-2.0
*
/*****************************************************************************/
//
// include Radio Code Calculator API module
//
import { RadioCodeCalculator, RadioErrors, RadioModel, RadioModels } from "radio-code-calculator";
//
// create Radio Code Calculator API class instance (we are using our activation key)
//
let myRadioCodeCalculator = new RadioCodeCalculator("ABCD-ABCD-ABCD-ABCD");
//
// generate radio code (using Web API)
//
myRadioCodeCalculator.calc(RadioModels.FORD_M_SERIES, "123456").then((result) => {
console.log("Radio code is " + result["code"]);
}).catch((error) => {
switch(error["error"])
{
case RadioErrors.INVALID_RADIO_MODEL: console.log("Invalid radio model (not supported)"); break;
case RadioErrors.INVALID_SERIAL_LENGTH: console.log("Invalid serial number length (expected " + result["serialMaxLen"] + " characters)"); break;
case RadioErrors.INVALID_SERIAL_PATTERN: console.log("Invalid serial number regular expression pattern (expected " + result["serialRegexPattern"]["php"] + " regex pattern)"); break;
case RadioErrors.INVALID_SERIAL_NOT_SUPPORTED: console.log("This serial number is not supported"); break;
case RadioErrors.INVALID_EXTRA_LENGTH: console.log("Invalid extra data length (expected " + result["extraMaxLen"] + " characters)"); break;
case RadioErrors.INVALID_EXTRA_PATTERN: console.log("Invalid extra data regular expression pattern (expected " + result["extraRegexPattern"]["php"] + " regex pattern"); break;
case RadioErrors.INVALID_INPUT: console.log("Invalid input data"); break;
case RadioErrors.INVALID_COMMAND: console.log("Invalid command sent to the Web API interface"); break;
case RadioErrors.INVALID_LICENSE: console.log("Invalid license key!"); break;
default: console.log(`Something unexpected happen while trying to login to the service (error code ${error}).`); break;
}
});
Kody radiowe generowane są na podstawie wejściowych parametrów takich jak m.in. numer seryjny radia.
Numery seryjne radia różnią się dla różnych raddioodtwarzaczy, mają różną długość i różny wzór, jedne
mogą się składać z samych cyfr np. 1234
, a inne z cyfr i liter np. AB1234XYZ
.
Walidacja tych danych odbywa się po stronie serwera. Jednak dla usprawnienia działania, możemy
wykorzystać informacje o dostępnych limitach i wzorcach poszczególnych numerów seryjnych, aby np.
ustawić te ograniczenia w kontrolkach we własnych aplikacjach bez zbędnego wywoływania zapytań do
interfejsu Web API
.
<?php declare(strict_types=1);
/******************************************************************************
*
* Radio Code