查找,识别和丰富
丰富
在Apple设备上获取数据的最佳方法是使用lookup
调用来丰富数据。这对于查询串行和IMEI数据特别有效,并且能够返回很多相关的设备数据。如果仅需要获取给定标识符的属性,请参见下面的经典“ 查找”部分。
这是其请求格式: https://di-api.reincubate.com/v2/lookup/
: https://di-api.reincubate.com/v2/lookup/
有两种访问此功能的方法。
使用GET
摘要请求
可以使用格式为https://di-api.reincubate.com/v2/lookup/[IDENTIFIER-VALUE]/
的请求执行查找
这提供了一种访问DeviceIdentifier数据的简单方法。但是,这依赖于值类型的自动识别,并且不会总是提供像更完整的POST
请求一样多的数据。
使用POST
完整请求
要使用这些属性,API必须接收类似于以下内容的JSON数据的POST请求:
{ "primary": { "identifier": "iPhone5,2", "type": "apple_identifier" }, "additional": [{ "identifier": "F2TK4TZ7DTWF", "type": "apple_serial" },{ "identifier": "013554006297015", "type": "gsma_imei" },{ "identifier": "8965880812100011146", "type": "gsma_iccid" }] }
在此JSON结构中,主要identifier
值是必需的,并且必须表示Apple序列号,IMEI或型号。
传递type
值是可选的,但可以防止潜在的冲突。在本文档的受支持的标识符部分中记录的任何type
值都可以用作类型值。因此,最简单的是,有效的请求如下所示:
{ "primary": { "identifier": "DMPRC0P8H1MD" } }
additional
字典也是完全可选的。但是,这些值允许API缩小结果范围,并在响应中提供更高的准确性。强烈建议发送尽可能多的设备可用附加数据。
API将以统一格式返回数据,如响应中支持的标识符部分所述。
例子
{ "primary": { "identifier": "iPhone5,2", "type": "apple_identifier" }, "additional": [{ "identifier": "F2TK4TZ7DTWF", "type": "apple_serial" },{ "identifier": "013554006297015", "type": "gsma_imei" },{ "identifier": "8965880812100011146", "type": "gsma_iccid" }] }
{ "warranty": { "url": "https://checkcoverage.apple.com/gb/en?sn=F2TK4TZ7DTWF", "apple_care_status": "LIKELY_EXPIRED", "apple_care_plus_status": "GSX_REQUIRED" }, "production": { "week": "2013-01-22", "city": "Zhengzhou", "company": "Foxconn", "country": "China" }, "hardware": { "model": "N42", "revision": [ { "platform": "s5l8950x", "name": "N42AP", "cpid": 35152, "bdid": 2 } ] }, "meta": { "account": 34, "primary_identifier_type": "apple_identifier", "timestamp": "2019-11-04T13:11:04.605882", "results_narrowed_by_additional_identifiers": true, "primary_identifier": "iPhone5,2", "credits_remaining": -1, "cache_status": "UNCACHED" }, "mobile": { "serial": "629701", "registration_country": "CTIA (PTCRB)", "reporting_body": "United States", "carrier": "O2", "carrier_country": "United States" }, "marketing": { "images": [ { "url": "https://di-api.reincubate.com/resource-d47c4d432532037b31e69be8fbc66dcb/", "width": 450, "height": 330 }, { "url": "https://di-api.reincubate.com/resource-4cb3c6fe7c62f327cd11712196c221b0/", "width": 120, "height": 120 } ], "names": [ "iPhone 5", "iPhone 5 (GSM, CDMA)" ] }, "security": { "primary_identifier_anonymised": "F2TK4•••DTWF", "identifier_fraud": { "code": "ADDITIONAL_MISSING", "message": "Fraud scoring requires use of the `additional` parameter in your request.", "score": 0 } }, "valuation": { "resale": [ { "url": "https://www.apple.com/shop/trade-in", "vendor": "official_tradein", "value": "$0.00" } ], "retail": [] }, "specification": { "configuration_code": [ { "colour": null, "code": "DTWF", "storage": "16 GB" } ], "mpn": [ { "factory_lock": "UNKNOWN", "colour": "Silver", "code": "D298", "storage": "16 GB", "distribution": null }, { "factory_lock": "UNKNOWN", "colour": "Black", "code": "D297", "storage": "16 GB", "distribution": null } ], "type_allocation_code": [], "family": [], "summary": { "factory_lock": null, "colour": null, "storage": "16 GB", "url": "https://support.apple.com/kb/SP655", "unique_to_region": null, "distribution": null, "sale_region": "United States", "sale_format": "Personalised" } }, "software": { "shipped": "10.3.3", "name": "iOS", "latest": "10.3.4" } }
抬头
API提供了查找给定标识符的详细信息的功能。查找调用是RESTful并采用以下格式:
https://di-api.reincubate.com/v1/*[IDENTIFIER-TYPE]*/*[IDENTIFIER-VALUE]*/
有关支持的标识符格式的信息,请参阅支持的标识符部分。
例子
https://di-api.reincubate.com/v1/apple-identifiers/iPhone5,3/
$ python -m deviceidentifier.cli.apple_identifier iPhone5,3
{ "id": "iPhone5,3", "image": { "height": 330, "url": "https://di-api.reincubate.com/resource-775ac9634280be8d7dfb0b75b4727f69/", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 5c" }, "variant": "GSM + CDMA" }
鉴定
API提供识别未知标识符的功能。查找调用是RESTful并采用以下格式:
https://di-api.reincubate.com/v1/identify-identifier/*[IDENTIFIER-VALUE]*/
有关支持的标识符格式的信息,请参阅支持的标识符部分。
例子
https://di-api.reincubate.com/v1/identify-identifier/iPhone5,3/
$ python -m deviceidentifier.cli.identify_identifier iPhone5,3
{ "iPhone5,3": [ "apple_identifier" ] }