Sample code for 30+ languages & platforms
Tcl

Egypt ITIDA Generate eReceipt UUID

See more Egypt ITIDA Examples

Demonstrates how to generate the eReceipt UUID for Egypt ITIDA.

Note: This example requires Chilkat v9.5.0.92 or greater.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# 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