Update fields using a PUT request
Update fields in the JSON document
PUT
https://api.photoncommerce.com/api/v4/update
One can use this request to update the field values extracted by Photon Commerce.
Path Parameters
The photon key of the json file to update
Unique client-id provided during user
registration
Pass your username and unique API key in the form 'apikey <your-username>:<your-api-key>'
Your secret key as a string
Password used during user registration
set to 'application/json'
Request Body
string of dictionary containing fields to be
updated with their corresponding values.
e.g '{"Total": 5454.54}'
200
Copy {"message":"Updated successfully","status":"success"}
cURL Python NodeJS Java
Copy curl -X PUT -H 'Content-Type: application/json' -H "CLIENT-ID:<client-id>" -H "AUTHORIZATION:apikey <username>:<api-key>" -H 'PASSWORD:<password>' -H "SECRET-KEY:<secret-key>" -d '{"Total": 1878.8, "Vendor_Name": "Einsteam"}' "https://api.photoncommerce.com/api/v4/update?photon_key=<the photon key>"
Copy import requests
headers = {
'Content-Type': 'application/json',
'CLIENT-ID': '<client-id>',
'AUTHORIZATION': 'apikey <username>:<api-key>',
'PASSWORD': '<password>',
'SECRET-KEY': '<secret-key>',
}
params = (
('photon_key', '<the photon key>'),
)
data = '{"Total": 1878.8, "Vendor_Name": "Einsteam"}'
response = requests.put('https://api.photoncommerce.com/api/v4/update', headers=headers, params=params, data=data)
Copy var request = require('request');
var headers = {
'Content-Type': 'application/json',
'CLIENT-ID': '<client-id>',
'AUTHORIZATION': 'apikey <username>:<api-key>',
'PASSWORD': '<password>',
'SECRET-KEY': '<secret-key>'
};
var dataString = '{"Total": 1878.8, "Vendor_Name": "Einsteam"}';
var options = {
url: 'https://api.photoncommerce.com/api/v4/update?photon_key=<the photon key>',
method: 'PUT',
headers: headers,
body: dataString
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request(options, callback);
Copy import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.photoncommerce.com/api/v4/update?photon_key=<the photon key>");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("PUT");
httpConn.setRequestProperty("Content-Type", "application/json");
httpConn.setRequestProperty("CLIENT-ID", "<client-id>");
httpConn.setRequestProperty("AUTHORIZATION", "apikey <username>:<api-key>");
httpConn.setRequestProperty("PASSWORD", "<password>");
httpConn.setRequestProperty("SECRET-KEY", "<secret-key>");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("{\"Total\": 1878.8, \"Vendor_Name\": \"Einsteam\"}");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
You can update any key field present in the JSON data. While submitting the data for the PUT request, make sure that the datatype of the values are preserved. The key fields, their description and datatype can be found above under the section 'Capture an invoice or receipt in real time'.
For the example above, the updated JSON will have Total set as 1878.80 and Vendor_Name set as 'Einsteam'. To verify if the update worked fine, you can use the GET request mentioned above to fetch the JSON and check if the changes have been successfully applied.