pixi

Customer Invoices

This page describes the exchange events published by pixi, including events such as InvoiceCreated, InvoiceChanged, RequestPackageLabel, and StockMovement. Each event includes its exchange name, trigger conditions, payload fields, and a sample message.


Event Name

Exchange Name

InvoiceChanged

pixiEXInvoiceChanged

The event is triggered, when a customer invoice is updated by a Tracking-ID and|or by a Return-Tracking-ID.

The message, which is sent to the exchange, contains the following information:

  • invoiceKey: Unique invoice identifier

  • invoiceNr: Invoice number

  • changeSource:

    • "empty" in case of general changes or

    • "SetTrackingId" if the invoice was changed by using API call pixiUpdateInvoicePackage

      • or via parsing through pixi Connector Tracking-ID Import functionality

      • ChangeSource: SetTrackingId for both cases

        • set only Tracking-ID or

        • set Tracking-ID and Return-Tracking-ID

  • trackingID: Tracking number(s)

  • returnTrackingId: Return-Tracking number(s)

  • refToInvoiceKey: This value is provided if a return was created. If it is not provided, the message refers to an invoice.



Example:
{
"data":[
{

"invoiceKey": 1,
"invoiceNr": "PIX000001",
"changeSource": "SetTrackingId",
"returnTrackingId": "0000011;"

}
]
}

InvoiceCreated

pixiEXInvoiceCreated

The event happens, when a new customer invoice or credit is created. The message, which is sent to the exchange, contains the following information:

  • InvoiceKey: Unique invoice/credit identifier

  • InvoiceNr: Invoice/credit number

  • ShipVendorCode: Shipping vendor

  • FullShippingAddress

    • salutation: Salutation

    • name: Full name

    • name2: Additional name field

    • firstName: First name

    • lastName: Last name

    • careOf: Care of / Company name

    • address: Complete address

    • street: Street name

    • houseNumber: House number

    • city: City

    • zip: ZIP/Postal code

    • Country: Country code

    • zipMb: ZIP Mailbox

    • mailbox: Mailbox

    • contact: Contact person

    • ansprache: Salutation (for backwards compatibility)

    • phone: Primary phone number

    • phone2: Secondary phone number

    • fax: Primary fax number

    • fax2: Secondary fax number

    • eMail: Primary email address

    • eMail2: Secondary email address

  • TotalAmount

  • ShipCosts

  • PaymentCode

  • BoxNr Note: Box number is populated only with regular order processing with picklist. In case of direct invoice or 1-Scan-Shipping, box number is empty.

  • OrderNr

  • OrderNrExternal

  • refToInvoiceKey: This value is provided if a return was created. If it is not provided, the message refers to an invoice.


Example:
{
"data":[
{
"invoiceKey": 1,
"invoiceNr": "PIX000001",
"shipVendorCode": "DHL",
"totalAmount": 30.75,
"shipCosts": 0,
"paymentCode": "N",
"boxNr": 1,
"orderNr": 12345,
"orderNrExternal": "P12345",
"fullShippingAddress": {
"salutation": "Herr",
"name": "Max Mustermann",
"name2": "",
"firstName": "Max",
"lastName": "Mustermann",
"careOf": "Musterfirma GmbH",
"address": "Musterweg 1",
"street": "Musterweg",
"houseNumber": "1",
"city": "Musterstadt",
"zip": "12345",
"Country": "DE",
"zipMb": "",
"mailbox": "",
"contact": "",
"ansprache": "",
"phone": "+49 123 456789",
"phone2": "",
"fax": "",
"fax2": "",
"eMail": "max.mustermann@example.com",
"eMail2": ""
}
}
]
}

InvoiceDeleted

pixiEXInvoiceDeleted

The event happens, when a customer invoice is deleted. The message, which is sent to the exchange, contains the following information:

  • InvoiceKey: Unique invoice identifier

  • InvoiceNr: Invoice number

  • refToInvoiceKey: This value is provided if a return was created. If it is not provided, the message refers to an invoice.


Example:
{
"data":[
{

"invoiceKey": 1,
"invoiceNr": "PIX000001"

}
]
}

RequestPackageLabel

pixiEXRequestPackageLabel

The event happens, when Ship-Out was done for an invoice or box or when a new label is printed via "Reprint" button. Additionally, the option "Shipping Label" (pixi Control Center > Shipping Vendors table) needs to be set to "Use External Label" to trigger this event.
The message, which is sent to the exchange, contains the following information:

  • invoiceKey: Unique invoice identifier

  • invoiceNr: Invoice number

  • shippingAddress

    • company

    • firstName

    • lastName

    • street

    • houseNr

    • city

    • zip

    • state

    • country: ISO2 country code

    • eMail

    • phone

  • shipFromAddress: Address details of the location shipped from, where not NULL

    • name: company name

    • address

    • city

    • zip

    • state

    • country: ISO2 country code

    • eMail

    • phone

  • shopAddress

    • name

    • address

    • city

    • zip

    • state

    • country: ISO2 country code

    • eMail

    • phone

  • packageInformation

    • packageId: Unique package identifier

    • grossWeight: Package gross weight

    • amount: Package total amount

    • currency: Package currency

    • cashOnDelivery: if package payment code is "N", then the value is 1, otherwise it is 0

    • printReturnLabel: 1 or 0, value from pixi Control Center > Shipping Vendors table > Print return label option

    • packageNumber: 1 or 0,

      • Single packages: 1 (always set to this value for single packages)

      • Multiple packages:

        • first package

          • "packageNumber": 1

        • last package

          • "packageNumber": X number of last package

    • packingComplete: false

      • Single packages: true

      • Multiple packages:

        • first package

          • "packingComplete": false

        • last package

          • "packingComplete": true if it is the last package and no more items to be shipped out

  • packageTypeInformation

    • packageId: Unique package identifier

    • weight: Package gross weight * 1000

    • weightUnit: always contains "grams"

    • length: Used package types length from pixi Control Center > Package Types table

    • height: Used package types height from pixi Control Center > Package Types table

    • width: Used package types width from pixi Control Center > Package Types table

    • sizeUnit: Used package types dimensional unit from pixi Control Center > Package Types table

    • predefinedPackageDimensionCode: Used package types internal ID

  • shipVendor: Shipping vendor

  • externalShipmentId

  • orderNrExternal: External/shop order number

  • stationId: Workstation ID

  • connectedChannelId: Channel that's connected to the packages ship vendor

  • isMultiPackage: whether or not this is multipackage, to fetch line details via SOAP API Call

    • for only one/a single package:

      • for the first (only) package

        • isMultiPackage: false

    • for multiple packages

      • for the first package:

        • "isMultiPackage": true

      • for the second/last package of the invoice:

        • "isMultiPackage": true

      • for the invoice where only one package is created via multiple packages:

        • "isMultiPackage": false

Note on packageInformation: If the option Select package type (e.g. for Amazon Seller Fulfilled Prime) is activated for the shipping vendor to be used, the package type must be selected from a drop-down list. The package type can be determined either by scanning the code of the package type or manually selecting it in the drop-down. If the item dimensions are properly maintained, pixi will automatically determine and use the package type.


Example:
{
"data":[
{

"invoiceKey": 137,
"invoiceNr": " PIX000011",
"shippingAddress": {
"firstName": "Max",
"lastName": "Mustermann",
"street": " Musterweg ",
"city": "Musterstadt",
"zip": "12345",
"country": "DE",
"eMail": "max.mustermann@pixi.eu",
"phone": "0123 4567890"
},
"shopAddress": {
"name": "shop.pixi.net",
"address": "Pixistraße 1",
"city": "München",
"zip": "80336",
"country": "DE",
"eMail": "support@pixi.eu",
"phone": "089/1234568"
},
"shipFromAddress": {
"name": "pixi",
"address": " Pixistraße 1",
"city": "München",
"zip": "80336”,
"country": "DE"
},
"packageInformation": {
"packageId": 108,
"grossWeight": 3,
"amount": 17.46,
"currency": "EUR",
"cashOnDelivery": "0",
"printReturnLabel": 0,
"packageNumber": 1,
"packingComplete": true
},
"packageTypeInformation": {
"packageId": 108,
"weight": 3000,
"weightUnit": "grams",
"predefinedPackageDimensionCodeAmazon": ""
},
"shipVendor": "DHL",
"orderNrExternal": "P132",
"stationId": "Station 1",
"isMultiPackage": false
}

}
]
}


ReturnCreated

pixiEXReturnCreated

When enabled, a message is sent when a new return case is created in pixi mobile. It complements the existing ReturnStatusChanged messaging event which is published when for every status change of a return case. The ReturnCreated event on the other hand represents the creation of the return case.


  • returnId

  • invoiceKey

  • invoiceNr

  • returnStatusId: 1 (for NEW)

  • returnStatus: New


Example

{

"data": [
{
"returnId": 1083,
"invoiceKey": 4659,
"invoiceNr": "PIX1000001",
"returnStatusId": 1,
"returnStatus": "New"
}
]
}

ReturnStatusChanged

pixiEXReturnStatusChanged

The event happens, when the status of a return created in pixi Mobile changes. The message, which is sent to the exchange, contains the following information:

  • ReturnId: Unique return identifier (in GUI shown as "RET+ID")

  • InvoiceKey: Unique invoice identifier

  • InvoiceNr: Invoice number

  • ReturnStatusId: Unique return status ID

  • ReturnStatus: Name of the new return status


Example:
{
"data":[
{

"returnId":1083,
"invoiceKey":4659,
"invoiceNr":"PIX1000001",
"returnStatusId":3,
"returnStatus":"Credited"

}
]
}


StockMovement

pixiEXStockMovement

This event is triggered when there is a stock movement of an item. In this case, a message is sent to the “pixiEXItemStockMovement” exchange. This event is deactivated by default. Please contact support if you would like to use it.

  • Stock movement message or for all Items marked with changed quantity

    • IBILKey

    • LocId - LocationId

    • BinName

    • Qty

    • ItemID

    • ItemNrInt

    • EANUPC

    • ItemNrSuppl

    • UpdateEmp

    • UpdateDate

    • Reason

    • SMType

    • SMOperation

    • RelocateTransactionID

Example:
{
"data":[
{

"IBILkey": 120480,
"LocID": "001",
"BinName": "111",
"Qty": 30,
"ItemID": 366,
"ItemNrInt": "2000040300007",
"EANUPC": "3184340004809",
"ItemNrSuppl": "1367749208",
"UpdateEmp": "admin",
"UpdateDate": "Jul 25 2024 9:13AM",
"Reason": "",
"SMType": "0200",
"SMOperation": "BinClient_A/PutoStock",
"RelocateTransactionID": "91E1F8DF-E8AD- 40FA-14576A7841",


}
]
}


Back to top