generateSignature() method and pass in HTTP method, path, timestamp, nonce, and raw JSON bodyencryptBody() method and pass in raw JSON, App ID, and apiDataKeysortQueryString() method to sort query parametersgenerateNonce() method to generate a random stringX-Enc = aes-gcm-v1 is set)apiDataKey must be a Base64-encoded 32-byte keyContent-Type: use application/octet-stream for encrypted requests, and application/json for plaintextcipher.getAuthTag() can only be retrieved after calling final()