Dynamic embedded Liquid parameters
Use liquidParamsEmbedded when a storefront call or widget call needs to pass per-call values into a Liquid request.
requestId and liquidParamsEmbedded are APIEase runtime query parameters. Set requestId to the request handle that should run. Set liquidParamsEmbedded to a JSON-stringified object. Inside the Liquid request, APIEase exposes that object at apiEaseParameters.liquidParams.
The keys inside liquidParamsEmbedded are user-defined. For example, if the caller sends { "visitorName": "Alex" }, the Liquid request reads apiEaseParameters.liquidParams.visitorName.
JavaScript storefront/widget call:
const liquidParams = {
visitorName: "Alex",
sourcePage: "homepage"
};
const queryParams = new URLSearchParams({
requestId: "personalized-message",
liquidParamsEmbedded: JSON.stringify(liquidParams)
});
fetch("/apps/apiease/integration/caller/call?" + queryParams.toString(), {
headers: { Accept: "application/json" }
});
Liquid request:
{% assign visitor_name = apiEaseParameters.liquidParams.visitorName | default: "there" | strip %}
{% assign source_page = apiEaseParameters.liquidParams.sourcePage | default: "unknown" | strip %}
{
"message": "Hello, {{ visitor_name }}.",
"sourcePage": {{ source_page | json }}
}
In this example:
requestIdis an APIEase runtime field. It selects which request runs, and its value should be the request handle.liquidParamsEmbeddedis an APIEase runtime field. It passes a JSON object of values into a Liquid request.apiEaseParameters.liquidParamsis the Liquid runtime object where those embedded Liquid parameters are exposed.personalized-messageis only the example request handle.visitorNameandsourcePageare only example-specific parameter names. Users can choose their own keys."Alex"and"homepage"are only example values.
Saved parameters vs embedded parameters
Saved Liquid parameters are configured on the request and can be substituted with {parameterName} before execution. Use saved Liquid parameters for stored defaults, sensitive values, or other server-side configured values.
Runtime embedded Liquid parameters are supplied by a caller with liquidParamsEmbedded and are read in Liquid through apiEaseParameters.liquidParams.<parameterName>. Use liquidParamsEmbedded for per-call values supplied at runtime.