Add Transaction

See the sample example of how a transaction can be added. Links to more detailed instructions can be found at the end of the article.

How this example works

In this example, we will create a sample transaction to trigger the previously created campaign.


Try yourself

  • Input the previous saved token and storeCode in the request header

  • Add a transaction Endpoint: POST /api/{storeCode}/transaction

    {
        "transaction": {
            "items": [
                {
                    "sku": "12AB",
                    "name": "Restaurant",
                    "quantity": 1,
                    "grossValue": 500,
                    "category": "dine"
                }
            ],
            "header": {
                "documentType": "sell",
                "documentNumber": "12345",
                "purchasePlace": "onsite",
                "purchasedAt": "2024-05-01T00:00:00", // add current time
                "labels": []
            },
            "customerData": {
                "email": "[email protected]"
            }
        }
    }
  • This action should trigger CampaignEffectWasApplied webhook


Endpoints used

Method allows to register new transaction in system.

post

This method allows creating a new Transaction.

Authorizations
AuthorizationstringRequired

Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/

Obtain an access token

Send a request with the parameters username and password

Definition

POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition

Example

curl {HOST}/api/admin/login_check
    -H 'Content-Type: application/json;charset=UTF-8'
    -H 'Accept: application/json, text/plain, */*'
    --data-binary '{"username":"admin","password":"password"}'

Example Response

{
    "token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
    "refresh_token":"0558f8bb29948c4e54c443f..."
}

Using JSON Web Token

Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.

Example

curl {HOST}/api/{storeCode}/analytics/members
    -H 'Accept: application/json'
    -H 'Content-type: application/x-www-form-urlencoded'
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'

Refresh JSON Web Token

You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition

Path parameters
storeCodestringRequired

Store code

Body
Responses
200

Return registered transaction id.

application/json
post
/api/{storeCode}/transaction

More resources

For a detailed overview and description of the creation and management of the transaction, please refer to these series of articles:

Transactions

Last updated

Was this helpful?