budimanlai / yii2-traccar
There is no license information available for the latest version (1.0.1) of this package.
Traccar API wrapper for Yii2
Package info
github.com/budimanlai/yii2-traccar
Type:yii2-extension
pkg:composer/budimanlai/yii2-traccar
1.0.1
2026-06-29 15:57 UTC
Requires
- budimanlai/yii2-pkg: ~1.1.0
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-httpclient: ^2.0@dev
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Yii2 extension untuk integrasi dengan Traccar GPS Tracking Server via REST API v6.x.
Requirement
- PHP >= 8.0
- Yii2 ~2.0
- budimanlai/yii2-pkg ^1.1.0
- Tabel
api_3rd_logdi database (untuk logging request/response)
Instalasi
composer require budimanlai/yii2-traccar
Konfigurasi
Tambahkan konfigurasi Traccar di params.php:
return [ 'traccar' => [ 'baseUrl' => 'http://traccar.example.com:8082', 'adminEmail' => 'admin@example.com', 'adminPassword' => 'secret', ], ];
Penggunaan
Factory Methods
use budimanlai\yii2traccar\Traccar; // Menggunakan credentials admin dari params $traccar = Traccar::admin(); // Menggunakan credentials user tertentu $traccar = Traccar::forCredentials('user@example.com', 'password'); // Menggunakan API token $traccar = Traccar::withToken('eyJhbGci...');
Contoh Penggunaan
// Ambil semua device milik user $devices = Traccar::admin()->getDevices(); // Ambil posisi terakhir semua device $positions = Traccar::admin()->getLatestPositions(); // Ambil history posisi device dalam rentang waktu $history = Traccar::admin()->getDevicePositions( deviceId: 42, from: '2024-01-01T00:00:00Z', to: '2024-01-31T23:59:59Z' ); // Buat user baru $user = Traccar::admin()->createUser([ 'name' => 'John Doe', 'email' => 'john@example.com', 'password' => 'pass123', ]); // Generate shareable link device (expired 24 jam) $token = Traccar::admin()->shareDevice( deviceId: 42, expiration: date('c', strtotime('+1 day')) );
Daftar API
Server
| Method | Deskripsi |
|---|---|
getServer() |
Informasi server (public, tanpa auth) |
updateServer(array $data) |
Update konfigurasi server (admin only) |
geocode(float $lat, float $lng) |
Reverse geocode koordinat |
getTimezones() |
Daftar timezone yang tersedia |
getServerStatistics(string $from, string $to) |
Statistik server (admin only) |
Session
| Method | Deskripsi |
|---|---|
getSession(?string $token) |
Info session aktif |
createSession(string $email, string $password) |
Login / buat session |
closeSession() |
Logout / tutup session |
generateSessionToken(?string $expiration) |
Generate API token |
revokeSessionToken(string $token) |
Cabut API token |
Devices
| Method | Deskripsi |
|---|---|
getDevices(array $params) |
Daftar device (dengan filter opsional) |
getDevicesByUser(int $userId) |
Device milik user tertentu |
getAllDevices() |
Semua device lintas user (admin only) |
createDevice(array $data) |
Buat device baru |
updateDevice(int $id, array $data) |
Update device |
deleteDevice(int $id) |
Hapus device |
updateDeviceAccumulators(int $id, float $distance, float $hours) |
Update odometer & jam mesin |
Groups
| Method | Deskripsi |
|---|---|
getGroups(array $params) |
Daftar grup |
getGroupsByUser(int $userId) |
Grup milik user tertentu |
getAllGroups() |
Semua grup (admin/manager only) |
createGroup(array $data) |
Buat grup |
updateGroup(int $id, array $data) |
Update grup |
deleteGroup(int $id) |
Hapus grup |
Share
| Method | Deskripsi |
|---|---|
shareDevice(int $deviceId, string $expiration) |
Buat shareable link device |
shareGroup(int $groupId, string $expiration) |
Buat shareable link grup |
Users
| Method | Deskripsi |
|---|---|
getUsers(array $params) |
Daftar user (admin/manager only) |
createUser(array $data) |
Buat user baru |
updateUser(int $id, array $data) |
Update user |
deleteUser(int $id) |
Hapus user |
Permissions
| Method | Deskripsi |
|---|---|
getPermissions(array $params) |
Cek permission link antar dua objek |
addPermission(array $data) |
Tambah permission link |
removePermission(array $data) |
Hapus permission link |
linkDeviceToUser(int $userId, int $deviceId) |
Assign device ke user |
unlinkDeviceFromUser(int $userId, int $deviceId) |
Cabut device dari user |
linkGroupToUser(int $userId, int $groupId) |
Assign grup ke user |
unlinkGroupFromUser(int $userId, int $groupId) |
Cabut grup dari user |
linkGeofenceToUser(int $userId, int $geofenceId) |
Assign geofence ke user |
unlinkGeofenceFromUser(int $userId, int $geofenceId) |
Cabut geofence dari user |
linkGeofenceToDevice(int $deviceId, int $geofenceId) |
Assign geofence ke device |
linkDriverToDevice(int $deviceId, int $driverId) |
Assign driver ke device |
linkUserToManagedUser(int $userId, int $managedUserId) |
Assign managed user |
Positions
| Method | Deskripsi |
|---|---|
getPositions(array $params) |
Daftar posisi (dengan filter opsional) |
getLatestPositions() |
Posisi terakhir semua device |
getDevicePositions(int $deviceId, string $from, string $to) |
History posisi device |
deletePositionsInRange(int $deviceId, string $from, string $to) |
Hapus posisi dalam rentang waktu |
deletePosition(int $id) |
Hapus posisi by ID |
Events
| Method | Deskripsi |
|---|---|
getEvent(int $id) |
Detail event by ID |
Reports
| Method | Deskripsi |
|---|---|
getReportRoute(string $from, string $to, array $deviceIds, array $groupIds) |
Laporan rute (raw positions) |
getReportEvents(string $from, string $to, ...) |
Laporan events |
getReportSummary(string $from, string $to, ...) |
Laporan ringkasan (jarak, kecepatan, BBM) |
getReportTrips(string $from, string $to, ...) |
Laporan perjalanan |
getReportStops(string $from, string $to, ...) |
Laporan berhenti |
getReportGeofences(string $from, string $to, ...) |
Laporan masuk/keluar geofence |
Notifications
| Method | Deskripsi |
|---|---|
getNotifications(array $params) |
Daftar notifikasi |
createNotification(array $data) |
Buat notifikasi |
updateNotification(int $id, array $data) |
Update notifikasi |
deleteNotification(int $id) |
Hapus notifikasi |
getNotificationTypes() |
Daftar tipe notifikasi yang tersedia |
testNotification() |
Kirim notifikasi uji ke user aktif |
sendCustomNotification(string $notificator, array $data, array $userIds) |
Kirim notifikasi custom |
Geofences
| Method | Deskripsi |
|---|---|
getGeofences(array $params) |
Daftar geofence |
getGeofencesByUser(int $userId) |
Geofence milik user tertentu |
getAllGeofences() |
Semua geofence (admin only) |
createGeofence(array $data) |
Buat geofence |
updateGeofence(int $id, array $data) |
Update geofence |
deleteGeofence(int $id) |
Hapus geofence |
Commands
| Method | Deskripsi |
|---|---|
getCommands(array $params) |
Daftar saved command |
createCommand(array $data) |
Buat saved command |
updateCommand(int $id, array $data) |
Update saved command |
deleteCommand(int $id) |
Hapus saved command |
getSupportedCommands(int $deviceId) |
Command yang didukung device |
sendCommand(array $data, ?int $groupId) |
Kirim command ke device/grup |
getCommandTypes(?int $deviceId, ?bool $textChannel) |
Daftar tipe command |
Computed Attributes
| Method | Deskripsi |
|---|---|
getAttributes(array $params) |
Daftar computed attribute |
createAttribute(array $data) |
Buat computed attribute |
updateAttribute(int $id, array $data) |
Update computed attribute |
deleteAttribute(int $id) |
Hapus computed attribute |
Drivers
| Method | Deskripsi |
|---|---|
getDrivers(array $params) |
Daftar driver |
getDriversByUser(int $userId) |
Driver milik user tertentu |
getAllDrivers() |
Semua driver (admin/manager only) |
createDriver(array $data) |
Buat driver |
updateDriver(int $id, array $data) |
Update driver |
deleteDriver(int $id) |
Hapus driver |
Maintenance
| Method | Deskripsi |
|---|---|
getMaintenance(array $params) |
Daftar item maintenance |
createMaintenance(array $data) |
Buat item maintenance |
updateMaintenance(int $id, array $data) |
Update item maintenance |
deleteMaintenance(int $id) |
Hapus item maintenance |
Calendars
| Method | Deskripsi |
|---|---|
getCalendars(array $params) |
Daftar kalender |
createCalendar(array $data) |
Buat kalender (data: base64 iCal) |
updateCalendar(int $id, array $data) |
Update kalender |
deleteCalendar(int $id) |
Hapus kalender |
Orders
| Method | Deskripsi |
|---|---|
getOrders(array $params) |
Daftar order |
createOrder(array $data) |
Buat order |
updateOrder(int $id, array $data) |
Update order |
deleteOrder(int $id) |
Hapus order |
Lisensi
MIT