Product Update Notification API

This API allows customers with a custom e-commerce integration plugin to send product update notifications by signing the request payload with HMAC authentication.

Endpoint

POST https://api.hello-lisa.com/v2/plugin-notifications/{id}/updates

Headers

Header
Description

X-Hmac-Signature

HMAC-SHA256 signature of the request body

Authorization

API key for authentication

ApiKey <API_KEY>

Content-Type

application/json


Parameters

The id parameter value can be obtained form the plugins page in the LiSA Console.

Parameter
Description

id

The distinct identifier of the e-commerce plugin integration.

Payload Requirements

  • JSON format

  • Maximum size: 192 KB

  • Must be signed using HMAC-SHA256 with the secret provided upon registration.


How to Sign the Request

Use the HMAC-SHA256 algorithm to sign the JSON payload with the provided secret key. The resulting hex-encoded digest should be sent in the X-Hmac-Signature header.

Code Samples

const crypto = require('crypto');
const axios = require('axios');

const apiKey = 'your-api-key';
const secret = 'your-secret-key';
const url = 'https://api.hello-lisa.com/v2/plugin-notifications/{id}/updates';
const payload = JSON.stringify({ productId: "123", price: 19.99 });

const signature = crypto.createHmac('sha256', secret)
                        .update(payload)
                        .digest('hex');

axios.post(url, payload, {
    headers: {
        'Authorization': `ApiKey ${apiKey}`,
        'Content-Type': 'application/json',
        'X-Hmac-Signature': signature
    }
}).then(response => console.log(response.data))
  .catch(error => console.error(error.response?.data || error));

Error Handling

HTTP Status Code
Meaning

202 Accepted

Request received and processing asynchronously

400 Bad Request

Invalid or missing signature

401 Unauthorized

Invalid secret or signature

413 Payload Too Large

Payload exceeds 192 KB limit

Last updated