Halaman ini memberikan contoh beberapa operasi umum yang mungkin Anda lakukan dengan Library Reseller Android Umum, termasuk:
- Membuat objek
ResellerService
- Membuat objek
Customer
- Mengklaim batch perangkat
- Membatalkan klaim batch perangkat
- Bertukar perangkat Samsung
- Menukar perangkat Android (non-Samsung)
Membuat objek ResellerService
Gunakan class factory Samsung dan Google untuk membuat objek ResellerService
.
Dengan objek ResellerService
, serangkaian metode umum tersedia untuk mendaftarkan
Samsung dan perangkat Android lainnya.
Perangkat Samsung
Contoh di bawah ini menunjukkan cara membuat objek ResellerService
menggunakan
class SamsungResellerServiceFactory
untuk mengelola perangkat Samsung.
Sebelum dapat melakukannya, Anda harus melakukan aktivasi dengan Knox Deployment Program (KDP).
ResellerService samsungResellerService = SamsungResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath, clientIdentifier);
Perangkat Android lain
Contoh di bawah menunjukkan cara membuat objek ResellerService
menggunakan
class GoogleResellerServiceFactory
untuk mengelola perangkat Android
lain (non-Samsung). Sebelum dapat melakukannya, Anda harus mengikuti langkah-langkah di bagian Memulai
pendaftaran zero-touch
untuk mendapatkan resellerId
dan kunci akun layanan.
ResellerService googleResellerService = GoogleResellerServiceFactory.createResellerService(resellerId, serviceAccountKeyFilePath);
Membuat objek Customer
Pelanggan yang membeli perangkat Samsung dan non-Samsung memerlukan dua ID pelanggan.
Perangkat Samsung
Untuk mengelola perangkat Samsung, Anda menggunakan ID Pelanggan Knox pelanggan. Untuk mendapatkan
ID Pelanggan Knox, Anda harus membuat objek Customer
terlebih dahulu. Untuk melakukannya,
panggil createCustomer
menggunakan SamsungResellerService
yang dibuat dari
SamsungResellerServiceFactory
. Berikut contohnya:
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer") .addPrimaryEmails("superAdmin@gmail.com")
.putVendorParams("country", "US") .putVendorParams("firstName", "Avery")
.putVendorParams("lastName", "Yamada") .putVendorParams("service", "KME")
.build();
CreateCustomerResponse response = samsungResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
Jika berhasil, permintaan akan menampilkan objek CreateCustomerResponse
yang dapat Anda gunakan untuk mengekstrak ID Pelanggan Knox.
Perangkat Android lain
Untuk perangkat Android lainnya, pelanggan memerlukan ID pelanggan
pendaftaran zero-touch. Jika pelanggan sudah menggunakan pendaftaran zero-touch dengan reseller lain, Anda dapat menggunakan ID pelanggan mereka yang sudah ada. Jika tidak, Anda harus membuat
objek Customer
. Untuk melakukannya, panggil createCustomer
menggunakan ResellerService
yang dibuat dari GoogleResellerServiceFactory
. Berikut contohnya:
CreateCustomerRequest request = CreateCustomerRequest.newBuilder()
.setCustomerName("TestCustomer")
.addPrimaryEmails("owner@gmail.com")
.addSecondaryEmails("admin@gmail.com")
.build();
CreateCustomerResponse response = googleResellerService.createCustomer(request);
String companyId = response.getCustomer().getCompanyReference().getCompanyId();
Jika berhasil, permintaan akan menampilkan objek CreateCustomerResponse
. Anda dapat
mengambil ID pelanggan dari respons.
Mengklaim sejumlah perangkat
Mengklaim perangkat akan menciptakan hubungan antara perangkat dan pelanggan. Misalnya, jika Anda menjual sekumpulan perangkat kepada pelanggan, Anda akan mengklaim perangkat untuk pelanggan tersebut.
Contoh ini menunjukkan satu cara untuk memproses batch perangkat yang mencakup pesanan perangkat dari beberapa produsen (Samsung dan perangkat Android lainnya) dari beberapa pelanggan.
Langkah 1: Atur perangkat dan pelanggan
Dengan tabel IMEI perangkat, produsen, dan ID pelanggan yang mendapatkan perangkat, salah satu cara untuk mengelola pesanan adalah dengan mengaturnya ke dalam dua daftar: pesanan perangkat Samsung dan pesanan perangkat Android (non-Samsung) lainnya. Kemudian, untuk setiap daftar, kelompokkan perangkat menurut pelanggan. Contoh:
Perangkat Samsung
Nama pelanggan | ID pelanggan Samsung Knox | Produsen | IMEI |
---|---|---|---|
Perusahaan ABC | 11 |
Samsung |
|
Perangkat Android lain
Nama pelanggan | ID Pelanggan | Produsen | IMEI |
---|---|---|---|
ABC corp | 21 |
Google |
1234567803 |
XYZ corp | 22 |
Sony |
|
Langkah 2: Buat objek ClaimDevicesRequest
Perangkat Samsung
// Note: You can only claim devices for a single customer in each request.
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.setManufacturer("Samsung")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.setManufacturer("Samsung")
.build())
.build())
.build();
Perangkat Android lain
ClaimDevicesRequest claimGoogleDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.setManufacturer("Google")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.setManufacturer("Sony")
.build())
.build())
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("22")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.setManufacturer("Sony")
.build())
.build())
.build();
Langkah 3: Klaim perangkat untuk pelanggan
Untuk mengklaim perangkat bagi pelanggan, panggil ClaimDevicesAsync
. Contoh ini
memerlukan dua permintaan terpisah: satu dari objek ResellerService
Samsung
dan satu dari objek ResellerService
Google.
// Samsung devices
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
// Other Android devices
ClaimDevicesResponse googleResponse = googleResellerService.claimDevicesAsync(claimGoogleDevicesRequest);
Permintaan ClaimDevicesAsync
menampilkan daftar objek Operation
, yang
berisi status permintaan (sedang berlangsung, selesai, selesai dengan error,
atau gagal). Untuk memeriksa status operasi (misalnya, jika respons
menampilkan IN_PROGRESS
), panggil getOperation
.
// Samsung devices
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
// Other Android devices
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Membatalkan klaim sekumpulan perangkat
Membatalkan klaim perangkat akan memisahkannya dari pelanggan. Anda mungkin perlu membatalkan klaim perangkat jika pesanan perangkat dibatalkan atau pengiriman perangkat tidak dapat diselesaikan. Untuk membatalkan klaim sekumpulan perangkat, ikuti langkah-langkah berikut:
Langkah 1: Buat objek UnclaimDevicesRequest
Perangkat Samsung
// Each request can only unclaim devices belonging to a single customer. The request must also
// include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567802")
.build())
.build())
.build();
Perangkat Android lain
UnclaimDevicesRequest unclaimGoogleDevicesRequest = UnclaimDevicesRequest.newBuilder()
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567804")
.build())
.build())
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567805")
.build())
.build())
.build();
Langkah 2: Batalkan klaim perangkat
Untuk membatalkan klaim perangkat, panggil UnclaimDevicesAsync
. Contoh ini memerlukan dua
permintaan terpisah: satu dari objek ResellerService
Samsung dan satu dari
objek ResellerService
Google.
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
UnclaimDevicesResponse googleResponse = googleResellerService.unclaimDevicesAsync(unclaimGoogleDevicesRequest);
Permintaan UnclaimDevicesAsync
menampilkan daftar objek Operation
, yang
berisi status permintaan (sedang berlangsung, selesai, selesai dengan error,
atau gagal) Untuk memeriksa status operasi (misalnya, jika respons
menampilkan IN_PROGRESS
), panggil getOperation
.
Perangkat Samsung
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Perangkat Android lain
GetOperationRequest googleOperationRequest = GetOperationRequest.newBuilder().setOperationId(googleOperationId).build();
Operation googleOperation = googleResellerService.getOperation(googleOperationRequest);
Menukar perangkat Samsung
Jika perangkat perlu diganti karena alasan apa pun, Anda dapat menukarnya. Contoh ini mengasumsikan bahwa Anda menukar perangkat Samsung dengan perangkat Samsung lainnya.
Langkah 1: Buat objek UnclaimDeviceRequest
// Note: The request must include the customer's Samsung Knox customer ID.
UnclaimDevicesRequest unclaimSamsungDevicesRequest = UnclaimDevicesRequest.newBuilder()
.putVendorParams("customerId", "11")
.addUnclaims(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567801")
.build())
.build())
.build();
Langkah 2: Panggil UnclaimDeviceAsync
UnclaimDevicesResponse samsungResponse = samsungResellerService.unclaimDevicesAsync(unclaimSamsungDevicesRequest);
Permintaan UnclaimDevicesAsync
menampilkan daftar objek Operation
, yang
berisi status permintaan (sedang berlangsung, lengkap, lengkap dengan error,
atau gagal). Untuk memeriksa status operasi (misalnya, jika respons
menampilkan IN_PROGRESS
), panggil getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Langkah 3: Buat objek ClaimDeviceRequest
ClaimDevicesRequest claimSamsungDevicesRequest = ClaimDevicesRequest.newBuilder()
.addClaims(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.SAMSUNG)
.setCompanyId("11")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567806")
.setManufacturer("Samsung")
.build())
.build())
.build();
Langkah 4: Panggil ClaimDeviceAsync
ClaimDevicesResponse samsungResponse = samsungResellerService.claimDevicesAsync(claimSamsungDevicesRequest);
Permintaan ClaimDevicesAsync
menampilkan daftar objek Operation
, yang
berisi status permintaan (sedang berlangsung, selesai, selesai dengan error,
atau gagal). Untuk memeriksa status operasi (misalnya, jika respons menampilkan IN_PROGRESS
), panggil getOperation
:
GetOperationRequest samsungOperationRequest = GetOperationRequest.newBuilder().setOperationId(samsungOperationId).build();
Operation samsungOperation = samsungResellerService.getOperation(samsungOperationRequest);
Menukar perangkat Android (non-Samsung)
Jika perangkat perlu diganti karena alasan apa pun, Anda dapat menukarnya. Contoh ini mengasumsikan bahwa Anda menukar perangkat Android (non-Samsung) dengan perangkat Android (non-Samsung) lainnya.
Langkah 1: Buat objek UnclaimDeviceRequest
UnclaimDeviceRequest unclaimGoogleDeviceRequest = UnclaimDeviceRequest.newBuilder()
.setUnclaim(
DeviceUnclaim.newBuilder()
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567803")
.build())
.build())
.build();
Langkah 2: Panggil UnclaimDevice
googleResponse = googleResellerService.unclaimDevice(unclaimGoogleDeviceRequest);
Langkah 3: Buat objek ClaimDeviceRequest
ClaimDeviceRequest claimGoogleDeviceRequest = ClaimDeviceRequest.newBuilder()
.setClaim(
DeviceClaim.newBuilder()
.setCustomer(
CompanyReference.newBuilder()
.setVendor(Vendor.GOOGLE)
.setCompanyId("21")
.build())
.setDeviceIdentifier(
DeviceIdentifier.newBuilder()
.setImei("1234567807")
.setManufacturer("Google")
.build())
.build())
.build();
Langkah 4: Panggil ClaimDevice
ClaimDeviceResponse response = googleResellerService.claimDevice(claimGoogleDeviceRequest);
Jika berhasil, panggilan akan menampilkan objek ClaimDeviceResponse
yang berisi
deviceId
. Jika tidak, pengecualian umum yang berisi kode error akan ditampilkan.