Stay organized with collectionsSave and categorize content based on your preferences.
Use the Samsung and Google factory classes to createResellerServiceobjects.
WithResellerServiceobjects, a common set ofmethodsis available to claim and enroll Samsung and other Android devices.
SamsungResellerServiceFactory
Before you can use theSamsungResellerServiceFactoryclass to generate aResellerServiceobject, you need toonboard with KDP.
Below is the method signature for creating aResellerServiceobject using theSamsungResellerServiceFactoryclass:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003e\u003ccode\u003eResellerService\u003c/code\u003e objects, created using Samsung and Google factory classes, enable claiming and enrolling Samsung and other Android devices.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSamsungResellerServiceFactory\u003c/code\u003e requires onboarding with KDP and uses \u003ccode\u003eresellerId\u003c/code\u003e, \u003ccode\u003eserviceAccountKeyFilePath\u003c/code\u003e, and \u003ccode\u003eclientIdentifier\u003c/code\u003e to create a \u003ccode\u003eResellerService\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGoogleResellerServiceFactory\u003c/code\u003e requires onboarding with zero-touch enrollment and uses \u003ccode\u003eresellerId\u003c/code\u003e and \u003ccode\u003eserviceAccountKeyFilePath\u003c/code\u003e to create a \u003ccode\u003eResellerService\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eBoth factories throw a \u003ccode\u003eCommonException\u003c/code\u003e when errors occur, with specific error codes like \u003ccode\u003eINVALID_RESELLER_ID\u003c/code\u003e and \u003ccode\u003eAUTHORIZATION_FAIL\u003c/code\u003e for Samsung and \u003ccode\u003eINVALID_PARAM_DEFAULT\u003c/code\u003e and \u003ccode\u003eINTERNAL_SERVER_ERROR\u003c/code\u003e for Google.\u003c/p\u003e\n"]]],["`ResellerService` objects are created using `SamsungResellerServiceFactory` or `GoogleResellerServiceFactory` classes. Each factory requires onboarding as a reseller and uses a unique `resellerId` and `serviceAccountKeyFilePath`. Samsung's factory also needs a `clientIdentifier`. `ResellerService` objects offer methods for device management. Errors trigger a `CommonException` with specific codes, like `INVALID_RESELLER_ID` or `AUTHORIZATION_FAIL` for Samsung and `INVALID_PARAM_DEFAULT` or `INTERNAL_SERVER_ERROR` for Google.\n"],null,["# Factory classes\n\nUse the Samsung and Google factory classes to create `ResellerService` objects.\nWith `ResellerService` objects, a common set of [methods](/zero-touch/reseller-library/reference/methods)\nis available to claim and enroll Samsung and other Android devices.\n\nSamsungResellerServiceFactory\n-----------------------------\n\nBefore you can use the `SamsungResellerServiceFactory` class to generate a\n`ResellerService` object, you need to [onboard with KDP](/zero-touch/guides/reseller-library/get-started#knox_deployment_program).\nBelow is the method signature for creating a `ResellerService` object using the\n`SamsungResellerServiceFactory` class: \n\n public static ResellerService createResellerService(String resellerId, String serviceAccountKeyFilePath, String clientIdentifier) throws CommonException;\n\n### Input parameters\n\n| Property name | Value | Required | Description |\n|-----------------------------|----------|----------|-----------------------------------------------------------|\n| `resellerId` | `string` | Yes | Reseller's unique identifier, provided by the KDP system. |\n| `serviceAccountKeyFilePath` | `string` | Yes | File path to the service account key. |\n| `clientIdentifier` | `string` | Yes | Client identifier provided by the KDP system. |\n\n### Error behavior\n\nWhen an error occurs, the library throws a\n[`CommonException`](/zero-touch/reseller-library/reference/objects#commonexception)\ncontaining one of the following error codes:\n\n| Error code |\n|-----------------------|\n| `INVALID_RESELLER_ID` |\n| `AUTHORIZATION_FAIL` |\n\nGoogleResellerServiceFactory\n----------------------------\n\nBefore you can use the `GoogleResellerServiceFactory` class to generate a\n`ResellerService` object, you must [onboard to zero-touch enrollment](/zero-touch/guides/reseller-library/get-started#zero-touch_enrollment)\nas a reseller.\n\nHere's the method signature for creating a `ResellerService` object using the\n`GoogleResellerServiceFactory` class: \n\n public static ResellerService createResellerService(long resellerId, String serviceAccountKeyFilePath) throws CommonException, InterruptedException;\n\n### Input parameters\n\n| Property name | Value | Required | Description |\n|-----------------------------|----------|----------|------------------------------------------------------------------|\n| `resellerId` | `long` | Yes | Reseller's unique identifier, provided by the zero-touch system. |\n| `serviceAccountKeyFilePath` | `string` | Yes | File path to the service account key. |\n\n### Error behavior\n\nWhen an error occurs, the library throws a\n[`CommonException`](/zero-touch/reseller-library/reference/objects#commonexception)\ncontaining one of the following error codes:\n\n| Error code |\n|-------------------------|\n| `INVALID_PARAM_DEFAULT` |\n| `INVALID_RESELLER_ID` |\n| `INTERNAL_SERVER_ERROR` |"]]