Bulk job result notification
your notification URLSent to the notifyUrl given on the create bulk payment request call, once the job has been processed.
compressedData holds the original data from the create call with the result fields for each record added, GZIP compressedGZIP A compression format. A large payload is compressed before it is sent and has to be decompressed before it can be read.Wikipedia.
Verify the hash field before acting on the contents. A notification is an unauthenticated POST to a URL that anyone can call.
compressedData goes into the hash as the compressed string exactly as it arrives, before you decompress it.
Authentication
Ozow sends no credential with this call, so this check is the only thing standing between a real delivery and a stranger’s. Verify the Hash field before acting on the contents: your notification URL is public, and anyone can post to it.
Payload
application/json
JobIdstring uuid requiredThe identifier for the bulk payment request job.
JobReferencestring requiredThe merchant reference for the job/batch that was passed in the create request.
max length100Statusstring requiredThe status of the job. Possible values:
- Error - The bulk payment request job had encountered an error or the request data was not in the required format.
- Complete - The bulk payment request job had completed successfully.
- CompleteWithErrors - The bulk payment request job had completed but there were errors processing certain records.
CompressedDatastring requiredA GZIP compressedGZIP A compression format. A large payload is compressed before it is sent and has to be decompressed before it can be read.Wikipedia JSON string of the JSON array of payment request fields. It carries the data from the create call with the result fields for each record added.
The hash is built from this string compressed, exactly as it arrives, so verify before you decompress.
Errorsarray of string requiredA summary of how the job went, as a single line. Sent on every notification, a job that completed cleanly included, so its presence does not mean the job failed. Read the per record result fields inside
CompressedDatafor what went wrong where.Hashstring requiredSHA512SHA-512 A hashing algorithm. Ozow uses it to sign the values in a request or a notification so you can tell that they arrived unaltered and came from us. Hashing is one-way: the hash cannot be turned back into what produced it.Wikipedia hash used to ensure that certain fields in the message have not been altered after the hash was generated.
max length128
Verify the hash
Ozow sends no credential with this call, so Hash is the only thing that tells you the notification came from Ozow. Recompute it and compare before you act on anything else in the body.
- Concatenate the fields in the table below, in that order. A field with no value contributes an empty string rather than being skipped.
- Append your private key.
- Convert the whole string, your private key included, to lowercase.
- Take the SHA512 of it and write the digest as hexadecimal.
- Compare that against
Hash, ignoring case.
| Position | Field |
|---|---|
| 1 | JobId |
| 2 | JobReference |
| 3 | Status |
| 4 | CompressedData |
| 5 | Your private key |
Important
Errors arrives in the same body and is not part of the hash. Including it gives a digest that never matches.
Hash calculator builds this string field by field, so you can compare it against the one your code produces.
Your response
No body.