承接 budimanlai/yii2-traccar 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

budimanlai/yii2-traccar

Composer 安装命令:

composer require budimanlai/yii2-traccar

包简介

Traccar API wrapper for Yii2

README 文档

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_log di 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

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-06-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固