eSerial Callback Endpoint Documentation
This is the API documentation for a Callback request to eSerial to verify if a serial number has already been acquired into an eBound Bound Book.
Definition: Gets bound book records
Production: https://app.fflbizhub.com/api/adSearch/records
Staging: https://staging.fflbizhub.com/api/adSearch/records
Method: POST
Query String Params: None
|
Name |
Type |
Description |
|
|
|
|
Headers:
|
Name |
Value |
Description |
|
X-Api-Auth-Token |
eBound API Key |
Security key to authenticate a user |
|
Content-Type |
application/json |
Content type |
Body Content
Content is a JSON object to filter bound book records.
{
"SerialNumber": “”,
"Model": null,
"Importer": null,
"Manufacturer": null,
"Type": null,
"Caliber": null,
"AcquisitionDateStart": null,
"AcquisitionDateEnd": null,
"AcquisitionFfl": "",
"DispositionDateStart": null,
"DispositionDateEnd": null,
"DispositionFfl": null,
"PageNumber": 1,
"PageSize": 100
}
Note 1: All filters are optional.
Note 2: Set the date in the following format “yyyy-mm-dd” eg. “2024-05-31”
Note 3: Data is paginated by default, and the maximum page size is 1,000 records.
· If the pageNumber property is not provided, Page number 1 will be set by default.
· If the pageSize property is not provided, Page size will be 1,000 records by default.
Response
Status Codes
|
Code |
Description |
|
200 |
Transaction executed successfully |
|
400 |
Input parameters are invalid |
|
403 |
Security key couldn’t be validated or not present |
|
500 |
An error occurs in the server |
Body
{
"filteredData": [
{
"dataID": 3428039,
"bookID": 136,
"importer": null,
"manufacturer": "Adams Arms",
"countryOfManufacturer": null,
"serialNumber": "FIRE-0006",
"model": "10/22 50Th Anniversary",
"caliberGuage": "12 GA",
"type": "Firearm",
"typeID": 19,
"acqDate": "2024-05-22T00:00:00",
"acqName": " BULLSEYE SHOOTING SUPPLIES INC ",
"acqFFL": "123456017K12345",
"acqAddress": "123 Main St. ",
"acqCity": " WOONSOCKET ",
"acqState": "RI",
"acqCountry": "US",
"acqZip": "02895-0000",
"acqSOT": null,
"found": null,
"dispDate": "2024-05-22T00:00:00",
"dispName": "Jon Adam Smith",
"dispFirstName": "Jon",
"dispMiddleName": "Adam",
"dispLastName": "Smith",
"dispFFL": null,
"dispAddress": "1234 Street",
"dispCity": "West Hartford",
"dispState": "CT",
"dispCountry": null,
"dispZip": "06107",
"dispSOT": null,
"tl": null,
"destruction": null,
"dl": "DL 654",
"form4473": "1861",
"userID": 588,
"reportable3310_12": true,
"lastUpdated": "2024-05-22T16:48:48.99",
"notes": null,
"e4473ID": 1861,
"multipleSaleReported": null,
"multipleSaleReportDate": null,
"itemNumber": null,
"isReserved": true,
"isUsed": null,
"title": null,
"purpose": null,
"upc": null,
"price": null,
"cost": null,
"length": null,
"width": null,
"height": null,
"weight": null,
"boundBookRowNumber": null,
"isRemoved": false,
"nfaFormControlNumber": null,
"nfaFormType": null,
"sotControlNumber": null,
"sotExpirationDate": null,
"department": null,
"location": null,
"sublocation": null,
"form4473ExternalId": null,
"isInPaper4473Form": null
}
],
"pageSize": 100,
"pageNumber": 1,
"pages": 1,
"totalRows": 1
}
Note 1: Records returned are contained in “filteredData” property.
Note 2: “pageNumber” represents the current page in the entire data set after filtering. If not provided page 1 will be set by default.
Note 3: "pageSize" represents how many items were returned by page. If not provided, the page size will be set to 1,000 by default.
Note 4: “pages” represents the total number of pages in the entire data set after filtering.
Note 5: "totalRows” represents the total number of records in the entire data set after filtering.
Example request in C# code.
var options = new RestClientOptions("http://localhost:22416")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/api/adSearch/records ", Method.Post);
request.AddHeader("X-Api-Auth-Token", "d5465d69-a734-41f1-4c15-f0e0dddbab35");
request.AddHeader("Content-Type", "application/json");
var body = @"{""SerialNumber"": null, ""Model"": null,""Importer"": null,""Manufacturer"": null,""Type"": null,""Caliber"": null,""AcquisitionDateStart"": null, ""AcquisitionDateEnd"": null,""AcquisitionFfl"": null,""DispositionDateStart"": null,""DispositionDateEnd"": null,""DispositionFfl"": null,""PageNumber"": 1,""PageSize"": 100}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
For questions or additional information, please submit tickets through the Orchid Online Support Portal at https://orchidllc.zohodesk.com/portal/en/home