Sign transaction asynchronously
curl --request POST \
--url http://0.0.0.0:3010/sign-async \
--header 'Content-Type: application/json' \
--data '
{
"type": "request",
"keyPassword": "<string>",
"keyFilename": "<string>",
"transactionRequestId": "<string>",
"masterPassword": "<string>",
"apiKey": "<string>",
"apiSecret": "<string>",
"signRequest": {}
}
'import requests
url = "http://0.0.0.0:3010/sign-async"
payload = {
"type": "request",
"keyPassword": "<string>",
"keyFilename": "<string>",
"transactionRequestId": "<string>",
"masterPassword": "<string>",
"apiKey": "<string>",
"apiSecret": "<string>",
"signRequest": {}
}
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({
type: 'request',
keyPassword: '<string>',
keyFilename: '<string>',
transactionRequestId: '<string>',
masterPassword: '<string>',
apiKey: '<string>',
apiSecret: '<string>',
signRequest: {}
})
};
fetch('http://0.0.0.0:3010/sign-async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3010",
CURLOPT_URL => "http://0.0.0.0:3010/sign-async",
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([
'type' => 'request',
'keyPassword' => '<string>',
'keyFilename' => '<string>',
'transactionRequestId' => '<string>',
'masterPassword' => '<string>',
'apiKey' => '<string>',
'apiSecret' => '<string>',
'signRequest' => [
]
]),
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 := "http://0.0.0.0:3010/sign-async"
payload := strings.NewReader("{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\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("http://0.0.0.0:3010/sign-async")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://0.0.0.0:3010/sign-async")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\n}"
response = http.request(request)
puts response.read_body{
"transactionRequestId": "<string>",
"sessionKey": "<string>",
"sessionTimestamp": "<string>"
}Copper Unlimited Online
Sign transaction
POST
/
sign-async
Sign transaction asynchronously
curl --request POST \
--url http://0.0.0.0:3010/sign-async \
--header 'Content-Type: application/json' \
--data '
{
"type": "request",
"keyPassword": "<string>",
"keyFilename": "<string>",
"transactionRequestId": "<string>",
"masterPassword": "<string>",
"apiKey": "<string>",
"apiSecret": "<string>",
"signRequest": {}
}
'import requests
url = "http://0.0.0.0:3010/sign-async"
payload = {
"type": "request",
"keyPassword": "<string>",
"keyFilename": "<string>",
"transactionRequestId": "<string>",
"masterPassword": "<string>",
"apiKey": "<string>",
"apiSecret": "<string>",
"signRequest": {}
}
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({
type: 'request',
keyPassword: '<string>',
keyFilename: '<string>',
transactionRequestId: '<string>',
masterPassword: '<string>',
apiKey: '<string>',
apiSecret: '<string>',
signRequest: {}
})
};
fetch('http://0.0.0.0:3010/sign-async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3010",
CURLOPT_URL => "http://0.0.0.0:3010/sign-async",
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([
'type' => 'request',
'keyPassword' => '<string>',
'keyFilename' => '<string>',
'transactionRequestId' => '<string>',
'masterPassword' => '<string>',
'apiKey' => '<string>',
'apiSecret' => '<string>',
'signRequest' => [
]
]),
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 := "http://0.0.0.0:3010/sign-async"
payload := strings.NewReader("{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\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("http://0.0.0.0:3010/sign-async")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://0.0.0.0:3010/sign-async")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"request\",\n \"keyPassword\": \"<string>\",\n \"keyFilename\": \"<string>\",\n \"transactionRequestId\": \"<string>\",\n \"masterPassword\": \"<string>\",\n \"apiKey\": \"<string>\",\n \"apiSecret\": \"<string>\",\n \"signRequest\": {}\n}"
response = http.request(request)
puts response.read_body{
"transactionRequestId": "<string>",
"sessionKey": "<string>",
"sessionTimestamp": "<string>"
}Create a request to Copper Unlimited Online to sign the transaction. After signing, when the transaction is in the completed status,
the signed transaction will be uploaded to the Copper Platform automatically.
Body
application/json
Available options:
request The password from the shard
The filename of the key
The transaction request id
The organization master password
The Copper's Platform API Key
The Copper's Platform API Key
All this fields from order.extra.transactionRequest
Was this page helpful?
⌘I