The Search_Inventory_Items method is used to return the inventory items (list of serial numbers) corresponding to the search parameters.

It requires the type of the searched items.
There are other parameters such as the filter, which applies to the item reference and can contain start like '1234*' or '*1234*'. In addition, you can use the boolean parameters linked and active as well as the last parameters being status, start and stop. These last two parameters are used to define a period of time between which the items were imported.

This method returns item serial numbers (references) on success and false on error.


import requests
import json

# Define the method and parameters
method = 'Search_Inventory_Items'
params = {
    'type': 'OTP Token',
    'filter': '*1234*',
    'linked': False,
    'active': True,
    'status': 'Valid',
    'start': '2024-10-10 12:00:00',
    'stop': '2025-01-01 12:00:00'
}

# Create the request payload
request_payload = {
    'jsonrpc': "2.0",
    'method': method,
    'params': params,
    'id': 0
}

# Convert payload to JSON
json_payload = json.dumps(request_payload)

# Define the URL and credentials
url = "https://webadm1.rcdevsdocs.com/manag/"
auth = ("RCDEVSDOCS\\administrator", "password")

# Define the headers
headers = {
    "Content-Type": "application/json",
    "Connection": "close"
}

# Make the POST request
response = requests.post(url, data=json_payload, headers=headers, auth=auth, verify=False)

# Print the HTTP response code and response content
print(f"HTTP response code: {response.status_code}")
print(response.json())
    

<?php
#!/bin/php
$method = 'Search_Inventory_Items';
$params = array(
    'type' => 'OTP Token',
    'filter' => '*1234*',
    'linked' => false,
    'active' => true,
    'status' => 'Valid',
    'start' => '2024-10-10 12:00:00',
    'stop' => '2025-01-01 12:00:00'
);

$request = array(
    'jsonrpc' => "2.0",
    'method' => $method,
    'params' => $params,
    'id' => 0
);
$json = json_encode($request);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://webadm1.rcdevsdocs.com/manag/");
curl_setopt($ch, CURLOPT_USERPWD, "RCDEVSDOCS\\administrator:password");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("connection: close"));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$out = curl_exec($ch);
curl_close($ch);

print_r(json_decode($out));
?>
    

# Define the method and parameters
$method = 'Search_Inventory_Items'
$params = @{
    type = 'OTP Token'
    filter = '*1234*'
    linked = $false
    active = $true
    status = 'Valid'
    start = '2024-10-10 12:00:00'
    stop = '2025-01-01 12:00:00'
}

# Create the request payload
$requestPayload = @{
    'jsonrpc' = '2.0'
    'method' = $method
    'params' = $params
    'id' = 0
}

# Convert the request payload to JSON
$jsonPayload = $requestPayload | ConvertTo-Json

# Define the URL and credentials
$url = "https://webadm1.rcdevsdocs.com/manag/"
$auth = "RCDEVSDOCS\administrator:password"

# Make the POST request
$response = Invoke-RestMethod -Uri $url -Method Post -Body $jsonPayload -Headers @{ "Content-Type" = "application/json" } -Credential (New-Object System.Management.Automation.PSCredential($auth, (ConvertTo-SecureString "password" -AsPlainText -Force))) -SkipCertificateCheck

# Output the response
Write-Host "HTTP Response Code: $($response.status_code)"
Write-Host $response | ConvertTo-Json