This is a local API to Public API Integration where the Desktop system communicates with the client-facing public endpoint.
Other Articles of Interest:
API Requirements
The client provides a Public API Endpoint for Phonecheck desktop to call
Public API Endpoint provides a Response back to Phonecheck
Desktop Settings
Source API Request: URL + API Key
Result API Request: URL + API Key
Label API Request: URL + API Key
Use Case
Device Serials are received into the Client API Endpoint Database.
Client API Endpoint Database – Contains the Source Channel & Actions for the device through the warehouse
Source API Call is made to Public API and the response to Source API provides the Source Channel & Next Actions for the device
The Result API call is made to Public API on the Erase trigger and the Result API Data Response provides the Label deposition details for Label elements.
The Label API call is made to Public API to print original disposition details for re-printing labels.
Source API Next Actions
In the response of the Source API, you can pass a value in the nextAction
to tell Phonecheck what to do with the device that is connected.
"ContinueTest."
The device moves forward with additional actions and or Shopfloor Grading & Routing.
Installing App, and preparing the device for Diagnostics
"ReProcess."
A message shows on the device box for the user to select the next action.
The pop-up prompt on the desktop allows the user to Select “Re-Print” or “Re-Process”
“Re-Process” – would allow the user to continue to process the device as new
“Re-Print” – calls the Label API to re-print the previous label for the device
"PrintExceptionLabel."
Use case: if the serial has not been received into the Client API Database
The device is stopped, erase is triggered, and a call to Results API is made to get the disposition details for the Label.
"CallResult."
Use case: The device has an initial defect and is of zero value to process further.
The device is stopped and a call to Results API is made to get the disposition details for the Label
Source API Status Message
In the response of the Source API, you can pass a value in the statusMessage
to tell Phonecheck to do some additional custom actions
"EraseReset"
Use case: The device doesn't have any initial defects and you don’t want to proceed with testing or grading the device.
The device will be erased when sending this status message in the source response.
Response Keys
Source and Result API response keys available that allows the integration to update fields in the Phonecheck device database.
sourceSku
- Updates the SKU Code field
API Integration Desktop Flow
The device is connected to Phonecheck Desktop
When the device is ready a call is made to the Source API endpoint
Client Endpoint - The Source API response tells Phonecheck what to do with the device using the
nextAction
.When the
nextAction
isContinueTest.
the device is prepared for diagnostics.The device is tested and performs the auto or manual erasure process
The erase triggers a call to Result API Request with all device data
Client Endpoint – Result API Data Response provides the label deposition details to be printed on the label.
API Responses are saved in Phonecheck Cloud Database
API Integration Desktop Flow with Shopfloor
The device is connected to Phonecheck Desktop
When the device is ready a call is made to the Source API endpoint
Client Endpoint - The Source API response tells Phonecheck what to do with the device using the
nextAction
.The device is Graded and Routed based on the Shopfloor system
The device is tested and performs the Auto Erasure process is triggered from the Shopfloor route.
The erase triggers a call to Result API Request with all device data
Client Endpoint – Result API Data Response provides the label deposition details to be printed on the label.
API Responses are saved in Phonecheck Cloud Database
API Flow Chart
Source API Sample
Source API Request Schema:
{"sourceRequest": { "ApiResponse": "\n", "AppVersion": "2.0.81.48", "AppleID": "", "BMic": "", "BatterChargeEnd": "", "BatteryChargeStart": "", "BatteryCurrentMaxCapacity": "1960", "BatteryCycle": "82", "BatteryDesignMaxCapacity": "1960", "BatteryDrain": "", "BatteryDrainDuration": "", "BatteryDrainInfo": "", "BatteryDrainType": "", "BatteryHealthPercentage": "100", "BatteryModel": "0003-F", "BatteryPercentage": "90", "BatteryResistance": "18", "BatterySerial": "F5D825754SNFQHNA6", "BatterySource": "BS01", "BatteryTemperature": "21", "BuildNo": "1.3.149", "Carrier": "AT&T", "CocoBatteryHealth": "0.0", "CocoCurrentCapacity": "1960", "CocoDesignCapacity": "0", "Color": "Black", "CompatibleSim": "", "Cosmetics": "", "CountryOfOrigin": "US", "Custom1": "A1778", "DecimalMEID": "089464116004425766", "DecimalMEID2": "", "DefectsCode": "", "DeviceLock": "Off", "DeviceState": "Hello", "ESN": "Good", "EraseEndTime": "", "EraseStartTime": "", "EraseType": "", "Erased": "", "FMic": "", "Failed": "", "Firmware": "4.00.00", "Grade": "", "IMEI": "355324084388268", "IMEI2": "", "InvoiceNo": "Invoice#", "LPN": "", "LicenseID": "5495", "LicenseIdentifier": "1084A24F8AD26", "MDM": "No", "MEID": "35532408438826", "MEID2": "", "Make": "Apple", "ManualEntry": "No", "ManualFailure": "No", "Memory": "32 GB", "Model": "iPhone 7", "Model#": "MN9D2LL/A", "Network": "", "Network1": "", "Network2": "", "NotCompatibleSim": "", "Notes": "", "OEMBatteryHealth": "0.0", "OS": "iOS", "PCCarrier": "AT&T", "PESN": "80F6F19F", "PESN2": "", "PackageName": "", "Passed": "Fingerprint Sensor", "Pending": "", "Platform": "PhoneCheckmacOS", "PortNumber": "1", "ProductCode": "", "RegulatoryModelNumber": "A1778", "RestoreCode": "", "Rooted": "Off", "SIM1MCC": "", "SIM1MNC": "", "SIM1Name": "", "SIM2MCC": "", "SIM2MNC": "", "SIM2Name": "", "SIMSERIAL": "", "SIMSERIAL2": "", "SKUCode": "A1778.32GB.Black.U", "Serial": "F4GT2D3KHG7F", "SimErased": "", "SimLock": "", "SimLockResponse": "", "SimTechnology": "GSM", "TesterName": "PC02", "TransactionDate": "2019-12-04 15:02:31", "TransactionID": 176, "UDID": "52df9950cb104ffd1d55f2d8a27cb610525f34e2", "UnlockStatus": "", "VMic": "", "VendorName": "Vendor Name", "Version": "13.1.2", "WareHouse": "", "WifiMacAddress": "48:bf:6b:4f:f4:57", "Working": "Pending", "apiKey": "1d752322-31ec-4c69-b99e-800000000007", "device_shutdown": "", "endHeat": "", "startHeat": "" }}
Source API Response Schema:
{"udid":"52df9950cb104ffd1d55f2d8a27cb610525f34e2","imei":"0","serialNumber":"F4GT2D3KHG7F","meid":null,"customerID":"183","sourceSku":"UIP732--UM396","sourceChannelCode":"AP","sourceChannel":"Apple","statusCode":"200","statusMessage":"Success.","nextAction":"ContinueTest."}
Result API Sample
Result API Request Schema:
{ "ApiKey": "1d752322-31ec-4c69-b99e-800000000007", "reviewResult": { "APIResponse1": { "customerID": "183347", "imei": "0", "meid": null, "nextAction": "ContinueTest.", "serialNumber": "FTGVJ0V1GRX2", "sourceChannel": "Apple Retail", "sourceChannelCode": "APLR", "sourceSku": "UI6SPC64UC655A000GWR", "statusCode": "200", "statusMessage": "Success.", "udid": "6b92372154b0fa4d0037cdcc503f6be248e672e3" }, "ApiResponse": "{\"udid\":\"6b92372154b0fa4d0037cdcc503f6be248e672e3\",\"imei\":\"0\",\"serialNumber\":\"FTGVJ0V1GRX2\",\"meid\":null,\"customerID\":\"183347\",\"sourceSku\":\"UI6SPC64",\"sourceChannelCode\":\"AP\",\"sourceChannel\":\"Apple\",\"statusCode\":\"200\",\"statusMessage\":\"Success.\",\"nextAction\":\"ContinueTest.\"}\n", "AppVersion": "2.0.81.48", "AppleID": "", "BMic": "", "BatterChargeEnd": "", "BatteryChargeStart": "", "BatteryCurrentMaxCapacity": "2348", "BatteryCycle": "456", "BatteryDesignMaxCapacity": "2725", "BatteryDrain": "", "BatteryDrainDuration": "", "BatteryDrainInfo": "", "BatteryDrainType": "", "BatteryHealthPercentage": "87", "BatteryModel": "0003-F", "BatteryPercentage": "66", "BatteryResistance": "8", "BatterySerial": "F8Y729411LLG8H8CE", "BatterySource": "BS01", "BatteryTemperature": "23", "BuildNo": "1.3.149", "Carrier": "", "CocoBatteryHealth": "0.0", "CocoCurrentCapacity": "2348", "CocoDesignCapacity": "0", "Color": "Gold", "CompatibleSim": "", "Cosmetics": "", "CountryOfOrigin": "US", "Custom1": "A1687", "DecimalMEID": "089797504703290678", "DecimalMEID2": "", "DefectsCode": "", "DeviceLock": "Off", "DeviceState": "Hello", "ESN": "Good", "EraseEndTime": "", "EraseStartTime": "", "EraseType": "", "Erased": "Yes", "FMic": "", "Failed": "", "Firmware": "5.70.01", "Grade": "Salvage", "IMEI": "358603073236365", "IMEI2": "", "InvoiceNo": "Invoice#", "LPN": "", "LicenseID": "5495", "LicenseIdentifier": "250DC04F9AF26", "MDM": "No", "MEID": "35860307323636", "MEID2": "", "Make": "Apple", "ManualEntry": "No", "ManualFailure": "No", "Memory": "64 GB", "Model": "iPhone 6S+", "Model#": "NKU82LL/A", "Network": "", "Network1": "", "Network2": "", "NotCompatibleSim": "", "Notes": "", "OEMBatteryHealth": "0.0", "OS": "iOS", "PCCarrier": "N/A", "PESN": "80126660", "PESN2": "", "PackageName": "", "Passed": "Fingerprint Sensor", "Pending": "", "Platform": "PhoneCheckmacOS", "PortNumber": "4", "ProductCode": "", "RegulatoryModelNumber": "A1687", "RestoreCode": "", "Rooted": "Off", "SIM1MCC": "", "SIM1MNC": "", "SIM1Name": "", "SIM2MCC": "", "SIM2MNC": "", "SIM2Name": "", "SIMSERIAL": "", "SIMSERIAL2": "", "SKUCode": "UI6SPC64UC655A000GWR", "Serial": "FTGVJ0V1GRX2", "SimErased": "", "SimLock": "", "SimLockResponse": "", "SimTechnology": "", "TesterName": "PC02", "TransactionDate": "2019-12-04 15:02:31", "TransactionID": 176, "UDID": "6b92372154b0fa4d0037cdcc503f6be248e672e3", "UnlockStatus": "", "VMic": "", "VendorName": "Vendor Name", "Version": "12.4.1", "WareHouse": "", "WifiMacAddress": "98:9e:63:d4:fe:76", "Working": "Pending", "device_shutdown": "", "endHeat": "", "gradingAnswers": [ { "ParentId": "3133", "qAnswer": "Yes", "qCategory": "Customer Abuse", "qID": "3138", "qTitle": "No signs", "qType": "MainMulti" }, { "ParentId": "3141", "qAnswer": "Yes", "qCategory": "Cracks", "qID": "3147", "qTitle": "Only 1 chip no LARGER than 1 mm", "qType": "MainMulti" }, { "ParentId": "3624", "qAnswer": "Yes", "qCategory": "Cracks", "qID": "3629", "qTitle": "Chip no larger than 1 mm AND LCD damage", "qType": "MainMulti" } ], "startHeat": "" } }
Result API Data Response Schema:
{"udid":"6b92372154b0fa4d0037cdcc503f6be248e672e3","additionalInfo":null,"data":"Successfully Created.","status":"Success.","statusCode":"200","disposition":{"printAttributeLookUpId":0,"customerID":"183347","templateName":"AppleRetailer","printAttributesByItemId":83503,"itemId":82452316,"serialNumber":"FTGVJ0V10RX2","createDate":"12/5/2019 10:41:20 AM","dispositionDetails":{"DispositionType":"SLV","Grade":"BER","SourceSKU":"AI6SPC64UC600A000000","WMSItemID":"","WMSBin":"NDS","PartNumberDescription":"APL IP6SP GLD 64G A1687 BER ","WMSBay":"","RMANumber":"RMAB353","FUNC":""},"statusCode":"200","statusMessage":"Success"}}