TL;DR; the proof of delivery URLs being reported by the GET - Get a Job
at the time of delivery completion are incorrect. Said URLs seemingly get fixed by Stuart at some point well after the delivery has completed.
This seems to be a relatively recent regression as we’ve made no changes to our Stuart integration. We suspect this change might be to blame.
Here is a concrete example (job ID 277057105
, delivery ID 285435008
):
-
We received a delivery update webhook indicating the delivery status changed to
delivered
at2024-01-24T20:48:01Z
(less than 2 hours ago as of this writing). -
Upon webhook receipt, we queried the
GET - Get a Job
endpoint. The response reported aproof_of_delivery_url
of:
https://stuart-bucket.s3.eu-central-1.amazonaws.com/uploads/task_report_pictures/trp-65e6d417fae76f6411af.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6EVYDNNYKFACVSXF%2F20240124%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20240124T204801Z&X-Amz-Expires=172800&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCWV1LXdlc3QtMSJHMEUCIQCfx6NWNDM93qkEt7c3JZ7uPbaX68Lfr%2BQ8QfjBuf7CowIgIurcTlCbH7pHSV2saJ3cz5qdUf6MLuwechBFwTe7YKwqsgUIeBAEGgw5NzIxMjI0NTA4MDAiDM8kWtE1xPF6sz7VEiqPBQBDHRsNK0E9KBuGBvOFK47fQDqXfVa5c%2BnNKnIZSuS0umU1cLRPo%2BZA%2Fy1xEsoXs3g4j0ETBpduDJbaf6T%2FYEQUfdspohEIBLwkCbBcoVfX80sATOYP%2BcI7xqZlH98QUUDcZDvb6rR3VNX%2FTURo8p%2Bv3ld8iYdnmWLxk%2FLpsksGvG4%2B0yHTlRbHQKemjx9Te%2FmUbNB5Tdpc6BQziJgM46oMkr%2BpgS3CfC%2BWJOIfr%2B7kWp%2B96u%2Bp5wZs6Bg8bvjSTEf6pgcqCLbRdo5DEWsb8EylVEW%2BCRfjQYx5bjiGz9lLTURch%2BVZAEfk1aMacWSqIpsIqcQ9wRqnil1ch7A7HJviWIlMgeTApkUKrcBxKKdWpS5N9Tb07c%2BEN2KIxWLXkM%2BYMn40OPVB8Ehmech8MsIrks53l9W%2BTIisb2tvypYUQBAYwzftKgFJJhTdU7T87yHorgQvIkHaX5p51Wnysv7JiDaz5UNQ7dab%2F5QM9fPop5Y%2BQZOeKIAAwqZRBac8fnxVBqKeI%2FP4LUZluGDTdIkKew5NRSygkjve%2FRF6TiDGIKU%2Fnh5qSRHWac%2Fo3O7x3mvqbreDA1%2BBMA3hrHKTQYx%2BXkgE%2F1OPf2WETmCIIYxr8MmZysXfZ%2F9ifAsy636KaHLCau4YRE%2FpBSiURK7Dh%2BeLAMdWOqnStu0GnEUnk8lH2KQvTDrUEYyCekAgzk3RYfGXjLU%2FIkVaCkuC0EKyCckD1e4bJWNVMcaO1Ekr2ViahiTj979VMEgxC0oF0crYShjYyscSzQoLe6Lo9H0x6W5J13MlNu6UDUVrS5qd5Gc9u%2BmLpxnvgcuWsUpgItIaccUDFoqMEKD4mZ6xZ5nntZbRJ5UGCxkVoRUTF1%2F%2BjIwwqsXErQY6sQFMV9x4NCiWvCJEmOiW7kSJyf1UelL9B2G5LVFoZcjZXN92aVxw0U3ZzmWCdE16j%2FF282n7RBqoa7gBSXC8qpmrvXiat9lGbKL%2FQms0bPtMhlsw3NjFUV8hoKCUox6%2FHQUpEq012PvbVmI%2BBKWb9l7ZKjIgAEfPmfjY9MYfXolNzvx4yV5%2BPmvrkO6d%2FIK7NL2I9FHasgiw2kpBm%2B9vkTXwfsk3e15Gk4YcGXGSPHjNNak%3D&X-Amz-Signature=1d8844791eb7fec436d42423d6f935744f1dbd5f3f5da1c8708fed2e7a98c0ac
Expected behavior: image is available for viewing since its well less than the 48 hour access deadline.
Observed behavior: the URL does not work. Attempting to view it results in the following error page:
Finally, I’ll note that if I query the GET - Get a Job
endpoint above right now (two hours after delivery completion), the response includes a different URL which does work.
It’s worth noting that this is not a one-off scenario. I examined a large number of deliveries completed within the past 24 hours and ALL of them exhibited the above behavior.