Menu

firmware

On this page

Review the available firmware for a given device model.

Request

POST https://eu-api.samsungknox.com/b2bfota/v1/firmware

Header

  • Authorization Bearer — An OAuth 2.0 token, which authenticates your identity in REST API calls. The token is a hyphen-separated 32-character hexadecimal string, for example, aaaa1111-bb22-cc33-dd44-eeeeee555555. For more info, see Generate OAuth tokens.
  • Content-Typeapplication/xml

Body

The XML elements in the body are:

  • mdmId — Identifies your company among other partners in our SEAP program. Format: 10-character alphanumeric string, for example, d1e2f3g4h5. Note: Some early E-FOTA partners have an mdmId that is a 42-character alphanumeric string. You can get your MDM ID when you request an E-FOTA license or contact us.
  • customerId — Identifies an enterprise customer that will use the E-FOTA service. Format: Hyphen-separated 32-character hexadecimal string, for example, EEEE4444-FF55-AA66-BB77-CCCCCC888888. You can get a test customerId when you request an E-FOTA license.
  • groupId — Identifies a device group used by the enterprise customer. An enterprise might want to use different groups for different firmware updates. For example, there might be a test group of devices for the initial firmware deployment. Or, there can be a group for each Samsung device model being used in an organization. The format is as defined by the enterprise IT admin on the MDM console.
  • license — The E-FOTA license you got from the E-FOTA server when you requested your REST API key. For example, EFOTA1-fff555-ggg666-hh77.
  • carrierCode —The Consumer Software Customization code for the device carrier.
  • currentFirmwareVersion — The current firmware you are looking to update from. If left blank, the E-FOTA server returns the last six months of available firmware updates.
  • languageCode — The language used for the firmware info. For a list of codes, see Language code list.

Example

Here is some sample XML to get the firmware versions available for a device model:

<B2bFirmwareInfoListVO> <mdmId>d1e2f3g4h5</mdmId> <customerId>EEEE4444-FF55-AA66-BB77-CCCCCC888888</customerId> <groupId>Test Device Group</groupId> <license>EFOTA1-fff555-ggg666-hh77</license> <deviceModelName>GT-S8500A</deviceModelName> <carrierCode>OXM</carrierCode> <currentFirmwareVersion>ZNNN01A1/ZNNN01B1/ZNNN01C1</currentFirmwareVersion> <languageCode>ENG</languageCode> </B2bFirmwareInfoListVO>

Here is an example of how to use PHP to wrap the request in a REST API call:

public function getFirmwareList($mdmId,$customerId,$groupId,$deviceModel,$customerCode){ $token = getToken(); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://eu-api.samsungknox.com/b2bfota/v1/firmware", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "<B2bFirmwareInfoListVO><mdmId>$mdmId</mdmId><customerId>$customerId</customerId> <groupId>$groupId</groupId><license>$eFotaLicense</license><deviceModelName>$deviceModel</deviceModelName> <customerCode>$customerCode</customerCode><currentFirmwareVersion></currentFirmwareVersion><languageCode>ENG </languageCode></B2bFirmwareInfoListVO>", CURLOPT_HTTPHEADER => array( 'authorization: Bearer '.$token, 'cache-control: no-cache', 'content-type: application/xml'), )); $result = curl_exec($curl); curl_close($curl); return $result; }

Response

If the REST API call is successful, the E-FOTA server returns <code>HTTP/1.1 200 OK</code>. The response body contains XML elements describing the available firmware versions:

<?xml version="1.0" encoding="utf8" standalone="yes"?> <B2bFirmwareInfoListVO> <firmwareVersionList> <firmwareVersionItem> <firmwareId>FW-20170130-77702</firmwareId> <currentFirmwareVersion>G930FXXU1BPLB/G930FOXA1BPLB/G930FXXU1BPJJ </currentFirmwareVersion> <targetFirmwareVersion>G930FXXU1DQB3/G930FOXA1DQB1/G930FXXU1DQB1 </targetFirmwareVersion> <description>A software update can include, but is not limited to: - Device stability improvements, bug fixes. - New and / or enhanced features. - Further improvements to performance. To get the best from your device, please keep your device up to date and regularly check for software updates. The temperature of the device may temporarily increase during the software update or update because of the data download and associated behaviours.</description> <osOldVersion>Marshmallow(Android 6.0.1)</osOldVersion> <osVersion>Nougat(Android 7.0)</osVersion> <firmwareType>OS Upgrade</firmwareType> <openedDate>2017-02-07 01:41:53.0</openedDate> </firmwareVersionItem> <firmwareVersionItem> <firmwareId>FW-20170130-77566</firmwareId> <currentFirmwareVersion>G930FXXU1DPLT/G930FOXA1DPLT/G930FXXU1DPLT </currentFirmwareVersion> <targetFirmwareVersion>G930FXXU1DQB3/G930FOXA1DQB1/G930FXXU1DQB1 </targetFirmwareVersion> <description>A software update can include, but is not limited to: - Device stability improvements, bug fixes. - New and / or enhanced features. - Further improvements to performance. To get the best from your device, please keep your device up to date and regularly check for software updates. The temperature of the device may temporarily increase during the software update or update because of the data download and associated behaviours.</description> <osOldVersion>Nougat(Android 7.0)</osOldVersion> <osVersion>Nougat(Android 7.0)</osVersion> <firmwareType>Bug Fix</firmwareType> <openedDate>2017-02-07 01:41:52.0</openedDate> </firmwareVersionItem> </firmwareVersionList> </B2bFirmwareInfoListVO>