Secure skill pack for operating a PrestaShop 9 Bridge through a stable, signed, asynchronous API contract.
PrestaShop Bridge V1 is a secure operational contract for AI agents and Python handlers that need to interact with a PrestaShop 9 store through a stable interface. It standardizes OAuth2 authentication, HMAC request signing, rate limiting, asynchronous writes, idempotency, and durable job polling.
202 Accepted response means only that a job was accepted for processing. It never means business success.GET/v1/products/{id}truebridge:readid integer, required200GET/v1/orders/{id}truebridge:readid integer, required200GET/v1/jobs/{jobId}truebridge:read200POST/v1/jobs/products/updatefalsebridge:writeX-Request-ID requiredproduct_idupdates.price_htupdates.stock_deltaupdates.seooptions.skip_reindex202POST/v1/jobs/products/importfalsebridge:writebatch_idbatch_iditemsoptions50 items10MB202POST/v1/jobs/orders/statusfalsebridge:writeX-Request-ID requiredorder_idnew_statusnotify_customertracking_number202Authorization: Bearer {jwt_rs256_token}X-Request-ID: {uuid_v4}X-Timestamp: {unix_seconds}X-Signature: {hmac_sha256_hex}Content-Type: application/jsonAccept: application/json1024 bytes32768 bytesclient_credentials/oauth/tokenRS2563600bridge:readbridge:writeString to sign:
METHOD + "\n" + URI + "\n" + TIMESTAMP + "\n" + REQUEST_ID + "\n" + BODY_SHA256
Exact example:
POST/v1/jobs/products/update1710950400f47ac10b-58cc-4372-a567-0e02b2c3d47937abd647733fbd18a3f11fb5a082fe59c62719d9fe833aec96b28ccea36b70ba448e251d1c71078b07a10baf4094fd2686bcebef97761c4729a921f71798554c200 OK: synchronous read success or completed idempotent replay.202 Accepted: job accepted only. Always poll /v1/jobs/{jobId}.400 Bad Request: schema validation failed.401 Unauthorized: JWT missing, invalid, or expired.403 Forbidden: invalid HMAC, invalid timestamp window, or insufficient scope.409 Conflict: idempotency conflict or known failed replay.422 Unprocessable Entity: valid JSON but impossible business transition.429 Too Many Requests: wait for Retry-After.500 Internal Server Error: unexpected server failure.503 Service Unavailable: service degraded or Redis unavailable.202.10MB.X-Request-ID for a different business intention within 24 hours.examples.http.