The Import_Inventory_Item
method is used to import new items to the inventory database.
It requires the type
, the reference
and the description
of the item. It also needs the data
parameter which is an array that must be base64-encoded and set according to RCDevs inventory specification.
There are 2 optionnal parameters : the boolean parameter active
and the parameter status
.
Status parameter can have 4 values:
Valid
Lost
Broken
Expired
This method returns true
on success and false
on error.
import requests
import json
# Define the method and parameters
method = 'Import_Inventory_Item'
params = {
'type': 'OTP Token',
'reference': '1916017506',
'description': 'RCDevs RC300-T6',
'data': [
'TokenType': 'VE9UUA==',
'TokenKey': 'ZGI1OTExMzY1YjBiNjAzMTViNzYg1NzEzI3MGQzOTAzYg==',
'TokenID': 'MjM2MzUwNTUxZGM1OThiOQ==',
'TokenState': 'NTc4OTIxODY='
],
'active': True,
'status': 'Valid'
}
# 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 = 'Import_Inventory_Item';
$params = array(
'type' => 'OTP Token',
'reference' => '1916017506',
'description' => 'RCDevs RC300-T6',
'data' => array(
'TokenType' => 'VE9UUA==',
'TokenKey' => 'ZGI1OTExMzY1YjBiNjAzMTViNzYg1NzEzI3MGQzOTAzYg==',
'TokenID' => 'MjM2MzUwNTUxZGM1OThiOQ==',
'TokenState' => 'NTc4OTIxODY='
),
'active' => true,
'status' => 'Valid'
);
$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 = 'Import_Inventory_Item'
$params = @{
type = 'OTP Token'
reference = '1916017506'
description = 'RCDevs RC300-T6'
data = @(
TokenType = 'VE9UUA=='
TokenKey = 'ZGI1OTExMzY1YjBiNjAzMTViNzYg1NzEzI3MGQzOTAzYg=='
TokenID = 'MjM2MzUwNTUxZGM1OThiOQ=='
TokenState = 'NTc4OTIxODY='
)
active = $true
status = 'Valid'
}
# 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