Swap one component for another in one act, on the job it happened on.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/replace_component \
--header 'Content-Type: application/json' \
--data '
{
"p_component_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_at": "<string>",
"p_component_asset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_name": "<string>",
"p_outcome": "<string>",
"p_part_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_removal_reason": "<string>",
"p_serial_number": "<string>",
"p_work_order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/replace_component"
payload = {
"p_component_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_at": "<string>",
"p_component_asset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_name": "<string>",
"p_outcome": "<string>",
"p_part_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_removal_reason": "<string>",
"p_serial_number": "<string>",
"p_work_order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_component_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_at: '<string>',
p_component_asset_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_name: '<string>',
p_outcome: '<string>',
p_part_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_removal_reason: '<string>',
p_serial_number: '<string>',
p_work_order_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/replace_component', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.assetinfinity.ai/api/rpc/replace_component",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_component_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_at' => '<string>',
'p_component_asset_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_name' => '<string>',
'p_outcome' => '<string>',
'p_part_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_removal_reason' => '<string>',
'p_serial_number' => '<string>',
'p_work_order_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.assetinfinity.ai/api/rpc/replace_component"
payload := strings.NewReader("{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.assetinfinity.ai/api/rpc/replace_component")
.header("Content-Type", "application/json")
.body("{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/replace_component")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_bodyAsset components
Swap one component for another in one act, on the job it happened on.
The new one inherits the position, which is what makes “this position has failed four times” a question the register can answer. One call rather than two, because half of a replacement is worse than none of it.
POST
/
rpc
/
replace_component
Swap one component for another in one act, on the job it happened on.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/replace_component \
--header 'Content-Type: application/json' \
--data '
{
"p_component_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_at": "<string>",
"p_component_asset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_name": "<string>",
"p_outcome": "<string>",
"p_part_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_removal_reason": "<string>",
"p_serial_number": "<string>",
"p_work_order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/replace_component"
payload = {
"p_component_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_at": "<string>",
"p_component_asset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_name": "<string>",
"p_outcome": "<string>",
"p_part_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_removal_reason": "<string>",
"p_serial_number": "<string>",
"p_work_order_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_component_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_at: '<string>',
p_component_asset_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_name: '<string>',
p_outcome: '<string>',
p_part_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_removal_reason: '<string>',
p_serial_number: '<string>',
p_work_order_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/replace_component', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.assetinfinity.ai/api/rpc/replace_component",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_component_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_at' => '<string>',
'p_component_asset_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_name' => '<string>',
'p_outcome' => '<string>',
'p_part_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_removal_reason' => '<string>',
'p_serial_number' => '<string>',
'p_work_order_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.assetinfinity.ai/api/rpc/replace_component"
payload := strings.NewReader("{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.assetinfinity.ai/api/rpc/replace_component")
.header("Content-Type", "application/json")
.body("{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/replace_component")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_component_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_at\": \"<string>\",\n \"p_component_asset_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_name\": \"<string>\",\n \"p_outcome\": \"<string>\",\n \"p_part_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_removal_reason\": \"<string>\",\n \"p_serial_number\": \"<string>\",\n \"p_work_order_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_bodyHeaders
Preference
Available options:
params=single-object Body
application/jsonapplication/vnd.pgrst.object+jsonapplication/vnd.pgrst.object+json;nulls=strippedtext/csv
Swap one component for another in one act, on the job it happened on.
The new one inherits the position, which is what makes "this position has failed four times" a question the register can answer. One call rather than two, because half of a replacement is worse than none of it.
Response
200
OK
⌘I

