APIdoc-PushEvents

API Documentation - Push Events 

 

Find out how brands and retailers can benefit from automated fashion e-commerce imagery

The API can be used for (each item is linkable below):

Data Import

Image Storage

Image Padding

Image Metadata

Image Resize

Image File Format

Push Events

The Looklet push events are sent to a base URL defined by the customer. Each event has a dedicated sub path that is appended to the end of the base URL. An example:

  • Base URL: https://example.com/integration/looklet

  • URL Sub Path: /item-created

  • Final URL: https://example.com/integration/looklet/item-created

The following information applies for all push events:

URL: Base URL + URL Sub Path
Method: POST
Response codes: 200 OK
Requires authentication: true | false (Basic Auth)
Encoding: Application/x-www-form-urlencoded data (charset=UTF-8)

 

Query Parameters

PARAMETER

REQUIRED

DETAILS

id

true

UUID. Unique message id

version

true

Number. API request version number.

deprecated

true

Boolean. Indicates whether this API request is deprecated or not.

timestamp

true

Unix timestamp. Example: 1456996672

content

true

JSON content.

Item Created Event

Description

Callback for a created item.

URL Sub Path

/item-created

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}

Item Updated Event

Description

Callback for an updated item.

URL Sub Path

/item-updated

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"studio": "Studio 1",
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"designer": "DesignerName",
"category": "Dress",
"batches": [
"example-batch1",
"example-batch2"
],
"colorLabel": "GREEN",
"groups": [
"Group 1",
"Group 2"
],
"tags": [
"Batch 1",
"Batch 2"
],
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
],
"comments": [
{
"createdBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"timestamp": 1456996672,
"comment": "Comment text"
}
]
}

Item Approved Event

Description

Callback for a created item.

URL Sub Path

/item-created

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"approvedBy": {
"name": "Looklet",
"email": "no-reply@looklet.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}

Item Exported Event

Description

Callback for an updated item.

URL Sub Path

/item-updated

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"exportedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"model": {
"id": 20,
"variantId": 215
},
"scene": {
"id": 5,
"variantId": 102
},
"items": [
{
"id": 123,
"variantId": 2312,
"externalId": "external-id-1"
},
{
"id": 124,
"variantId": 23122,
"externalId": "external-id-2"
},
{
"id": 122,
"variantId": 23121,
"externalId": "external-id-3"
}
],
"looks": [
{
"pose": "Ella",
"angle": "Front",
"name": "1_ABCD-123_FRONT",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back Left",
"name": "1_ABCD-123_SIDEBACK",
"url": "https://url.to.image"
},
{
"pose": "Ella",
"angle": "Back",
"name": "1_ABCD-123_BACK",
"url": "https://url.to.image"
}
]
}

Display Exported Event

Description

Callback for an exported display image.

URL Sub Path

/display-exported

Example JSON content:

{

    "externalId": "ABCD-1234",

    "itemId": 321632,

    "exportedBy": {

        "name": "John Doe",

        "email": "john@doe.com"

    },

    "display": {

        "id": 10001,

        "url": "https://url.to.image",

        "name": "display image name"

    }

}

Looks Assigned to Group Event

Description

Callback for an item that was assigned to a Group1.

URL Sub Path

/looks-assigned-to-group

This event will contain the item along with the id of the Group that the item was assigned to as well as the id of the Group the item was assigned from.

Note: This can be used detect when an item was sent to QC - The Group would change from null to QCID2. It can also be used to detect when the item is returned from QC - The Group would change from QCID2 to null.

1 A Group of accounts. Tip: This is most probably the Quality Control Group2

2 QCID: Ask your Looklet representative what your Quality Control Group ID is.

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"looksAssignedFromGroup": null,
"looksAssignedToGroup": 35
}

Rejected Quality Control Event

Description

Callback for an item rejected to quality control.

URL Sub Path

/rejected-quality-control

This event will only contain the views or displays that have been rejected for quality control as a consequence of the event action.

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"rejectedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}

Item Rejected Reshoot Event

Description

Callback for an item rejected for reshoot.

URL Sub Path

/item-rejected-reshoot

This event will only contain the views or displays that have been rejected for reshoot as a consequence of the event action.

Example JSON content:

{
"externalId": "ABCD-1234",
"itemId": 321632,
"rejectedBy": {
"name": "John Doe",
"email": "john@doe.com"
},
"views": [
{
"id": 2323,
"pose": "Ella",
"angle": "Front",
"url": "https://url.to.image",
"variantId": "4567",
"hasComplement": "true"
},
{
"id": 2324,
"pose": "Ella",
"angle": "Back",
"url": "https://url.to.image",
"variantId": "4568",
"hasComplement": "false"
}
],
"displays": [
{
"id": 1001,
"url": "https://url.to.image",
"type": "display type"
},
{
"id": 1002,
"url": "https://url.to.image",
"type": "display type"
}
]
}