(Tcl) Egypt ITIDA Generate eReceipt UUID
Demonstrates how to generate the eReceipt UUID for Egypt ITIDA.
Note: This example requires Chilkat v9.5.0.92 or greater.
load ./chilkat.dll
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# Note: This example requires Chilkat v9.5.0.92 or greater.
# (In v9.5.0.92, the "itida" encoding was added to StringBuilder's Encode method.)
set sb [new_CkStringBuilder]
# Load the eReceipt JSON into a StringBuilder object.
set success [CkStringBuilder_LoadFile $sb "qa_data/itida/EReceipt_ex.json" "utf-8"]
if {$success == 0} then {
puts "Failed to load input file."
delete_CkStringBuilder $sb
exit
}
# Convert the contents of sb to the ITIDA canonical form.
# Always pass utf-8 for the 2nd arg.
CkStringBuilder_Encode $sb "itida" "utf-8"
# Get the lowercase hex encoded SHA256 hash of the canonicalized JSON
# (always use utf-8)
set uuid [CkStringBuilder_getHash $sb "sha256" "hex_lower" "utf-8"]
puts "eInvoicing UUID = $uuid"
delete_CkStringBuilder $sb
|