OrderLinesModified
v0.0.1

OrderLinesModified

This event is triggered when an order lines modification has been started and the operation has been successfully been completed.

OrderLinesModified Schema (json)
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "OrderLinesModified",
  "required": [
    "detail-type",
    "resources",
    "detail",
    "id",
    "source",
    "time",
    "region",
    "version",
    "account"
  ],
  "type": "object",
  "x-amazon-events-detail-type": "OrderLinesModified",
  "x-amazon-events-source": "brink.external.v1",
  "properties": {
    "account": {
      "type": "string"
    },
    "detail": {
      "$ref": "#/definitions/Detail"
    },
    "detail-type": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "resources": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "source": {
      "type": "string"
    },
    "time": {
      "format": "date-time",
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  },
  "definitions": {
    "Detail": {
      "properties": {
        "data": {
          "$ref": "#/definitions/Data"
        },
        "metadata": {
          "$ref": "#/definitions/Metadata"
        }
      },
      "required": [
        "metadata",
        "data"
      ],
      "type": "object"
    },
    "Metadata": {
      "type": "object",
      "required": [
        "awsRequestId"
      ],
      "properties": {
        "awsRequestId": {
          "type": "string"
        }
      }
    },
    "Data": {
      "$ref": "#/definitions/OrderLinesModified"
    },
    "OrderLinesModified": {
      "type": "object",
      "required": [
        "id",
        "orderId",
        "orderReference",
        "paymentProvider",
        "orderLines",
        "created",
        "updated",
        "completed",
        "restarts",
        "revision"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The order lines modification id id"
        },
        "orderId": {
          "type": "string",
          "description": "The order id"
        },
        "orderReference": {
          "type": "string",
          "description": "The order short reference"
        },
        "paymentProvider": {
          "$ref": "#/definitions/ProviderStatus"
        },
        "shippingProvider": {
          "$ref": "#/definitions/Provider"
        },
        "giftCardProvider": {
          "$ref": "#/definitions/Provider"
        },
        "giftCardProductProvider": {
          "$ref": "#/definitions/Provider"
        },
        "voucherProvider": {
          "$ref": "#/definitions/Provider"
        },
        "promotionProvider": {
          "$ref": "#/definitions/Provider"
        },
        "bonusProvider": {
          "$ref": "#/definitions/Provider"
        },
        "orderLines": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderLineModification"
          }
        },
        "reason": {
          "$ref": "#/definitions/Reason"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "description": "Created date for the order lines modification"
        },
        "updated": {
          "type": "string",
          "format": "date-time",
          "description": "Updated date for the order lines modification"
        },
        "started": {
          "type": "string",
          "format": "date-time",
          "description": "Started date for the order lines modification"
        },
        "completed": {
          "type": "string",
          "format": "date-time",
          "description": "Completed date for the order lines modification"
        },
        "failed": {
          "type": "string",
          "format": "date-time",
          "description": "Failed date for the order lines modification"
        },
        "restarted": {
          "type": "string",
          "format": "date-time",
          "description": "Restarted date for the order lines modification"
        },
        "restarts": {
          "description": "The number of restarts",
          "type": "integer"
        },
        "revision": {
          "description": "The revision number of the order lines modification",
          "type": "integer"
        }
      }
    },
    "ProviderStatus": {
      "type": "object",
      "required": [
        "providerId",
        "providerName",
        "status"
      ],
      "properties": {
        "providerId": {
          "type": "string",
          "description": "The id for the provider"
        },
        "providerName": {
          "type": "string",
          "description": "The name of the provider"
        },
        "status": {
          "$ref": "#/definitions/ProviderStatusLog"
        }
      }
    },
    "ProviderStatusLog": {
      "type": "object",
      "required": [
        "current",
        "history"
      ],
      "properties": {
        "current": {
          "type": "string",
          "description": "The latest status for the provider"
        },
        "history": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProviderStatusLogEntry"
          }
        }
      }
    },
    "ProviderStatusLogEntry": {
      "type": "object",
      "required": [
        "status",
        "timestamp",
        "type"
      ],
      "properties": {
        "message": {
          "type": "string",
          "description": "Optional message for the status"
        },
        "errorMessage": {
          "type": "string",
          "description": "Optional error message from the provider"
        },
        "status": {
          "type": "string",
          "description": "The actual status"
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp for the status"
        },
        "type": {
          "type": "string",
          "description": "Status type"
        }
      }
    },
    "Provider": {
      "type": "object",
      "required": [
        "providerId",
        "providerName"
      ],
      "properties": {
        "providerId": {
          "type": "string",
          "description": "The id of the provider"
        },
        "providerName": {
          "type": "string",
          "description": "The name of the provider"
        }
      }
    },
    "Reason": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Optional code for the reason, useful for BI tracking"
        },
        "cause": {
          "type": "string",
          "description": "Optional human readable cause for the reason"
        }
      }
    },
    "ModificationType": {
      "title": "ModificationType",
      "type": "string",
      "enum": [
        "CREATE",
        "UPDATE",
        "DELETE"
      ]
    },
    "OrderLineModification": {
      "type": "object",
      "required": [
        "modificationType",
        "data"
      ],
      "properties": {
        "modificationType": {
          "$ref": "#/definitions/ModificationType"
        },
        "data": {
          "oneOf": [
            {
              "$ref": "#/definitions/OrderLineModificationCreate"
            },
            {
              "$ref": "#/definitions/OrderLineModificationUpdate"
            },
            {
              "$ref": "#/definitions/OrderLineModificationDelete"
            }
          ]
        }
      }
    },
    "OrderLineModificationCreate": {
      "type": "object",
      "required": [
        "id",
        "name",
        "description",
        "imageUrl",
        "quantity",
        "basePriceAmount",
        "salePriceAmount",
        "discountAmount",
        "taxPercentage",
        "taxPercentageDecimals",
        "totalPriceAmount",
        "totalDiscountAmount",
        "totalTaxAmount",
        "distributedTotalPriceAmount",
        "distributedTotalDiscountAmount",
        "distributedTotalTaxAmount"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id for the created order line"
        },
        "name": {
          "type": "string",
          "description": "The name for the created order line"
        },
        "description": {
          "type": "string",
          "description": "The description for the created order line"
        },
        "productParentId": {
          "type": "string",
          "description": "Optional productParentId for the created order line"
        },
        "productVariantId": {
          "type": "string",
          "description": "Optional productVariantId for the created order line"
        },
        "taxGroupId": {
          "type": "string",
          "description": "Optional taxGroupId for the created order line"
        },
        "imageUrl": {
          "type": "string",
          "description": "The imageUrl for the created order line"
        },
        "options": {
          "$ref": "#/definitions/Options"
        },
        "campaign": {
          "$ref": "#/definitions/Campaign"
        },
        "quantity": {
          "type": "integer",
          "description": "The quantity of the created order line"
        },
        "basePriceAmount": {
          "type": "integer",
          "description": "Per unit base price of the created order line"
        },
        "salePriceAmount": {
          "type": "integer",
          "description": "Per unit sale price of the created order line"
        },
        "discountAmount": {
          "type": "integer",
          "description": "Calculated per unit discount amount of the order line `basePriceAmount` - `salePriceAmount`"
        },
        "taxPercentage": {
          "type": "integer",
          "description": "Tax percentage for the order line"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Optional number of decimals in `taxPercentage`. Default 2"
        },
        "totalPriceAmount": {
          "type": "integer",
          "description": "Total amount of the created order line"
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "Total discount amount of the created order line"
        },
        "totalTaxAmount": {
          "type": "integer",
          "description": "Total tax amount for the order line"
        },
        "distributedTotalPriceAmount": {
          "type": "integer",
          "description": "Total amount of the created order line including distributed order discount"
        },
        "distributedTotalDiscountAmount": {
          "type": "integer",
          "description": "Total discount amount of the created order line including distributed order discount"
        },
        "distributedTotalTaxAmount": {
          "type": "integer",
          "description": "Total tax amount of the created order line based on `distributedTotalPriceAmount`"
        }
      }
    },
    "OrderLineModificationUpdate": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id for the updated order line"
        },
        "name": {
          "type": "string",
          "description": "Updated name for the order line"
        },
        "displayName": {
          "type": "string",
          "description": "Updated displayName for the order line"
        },
        "description": {
          "type": "string",
          "description": "Updated description for the order line"
        },
        "displayDescription": {
          "type": "string",
          "description": "Updated displayDescription for the order line"
        },
        "productParentId": {
          "type": "string",
          "description": "Updated productParentId for the order line"
        },
        "productVariantId": {
          "type": "string",
          "description": "Updated productVariantId for the order line"
        },
        "taxGroupId": {
          "type": "string",
          "description": "Updated taxGroupId for the order line"
        },
        "imageUrl": {
          "type": "string",
          "description": "Updated imageUrl for the order line"
        },
        "options": {
          "$ref": "#/definitions/Options"
        },
        "campaign": {
          "$ref": "#/definitions/Campaign"
        },
        "price": {
          "$ref": "#/definitions/OrderLineModificationUpdatePrice"
        }
      }
    },
    "OrderLineModificationUpdatePrice": {
      "type": "object",
      "required": [
        "quantity",
        "basePriceAmount",
        "salePriceAmount",
        "discountAmount",
        "taxPercentage",
        "taxPercentageDecimals",
        "totalPriceAmount",
        "totalDiscountAmount",
        "totalTaxAmount",
        "distributedTotalPriceAmount",
        "distributedTotalTaxAmount",
        "distributedTotalDiscountAmount"
      ],
      "properties": {
        "quantity": {
          "type": "integer",
          "description": "Updated quantity of the order line"
        },
        "basePriceAmount": {
          "type": "integer",
          "description": "Updated per unit base price of the created order line"
        },
        "salePriceAmount": {
          "type": "integer",
          "description": "Updated per unit sale price of the created order line"
        },
        "discountAmount": {
          "type": "integer",
          "description": "Updated per unit discount amount of the order line"
        },
        "taxPercentage": {
          "type": "integer",
          "description": "Updated per tax percentage of the order line"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Updated per tax percentage decimals of the order line"
        },
        "totalPriceAmount": {
          "type": "integer",
          "description": "Updated total price amount of the order line"
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "Updated total discount amount of the order line"
        },
        "totalTaxAmount": {
          "type": "integer",
          "description": "Updated total tax amount of the order line"
        },
        "distributedTotalPriceAmount": {
          "type": "integer",
          "description": "Updated total price amount including distributed order discounts of the order line"
        },
        "distributedTotalTaxAmount": {
          "type": "integer",
          "description": "Updated total tax amount including distributed order discounts of the order line"
        },
        "distributedTotalDiscountAmount": {
          "type": "integer",
          "description": "Updated total discount amount including distributed order discounts of the order line"
        }
      }
    },
    "OrderLineModificationDelete": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id for the deleted order line"
        }
      }
    },
    "Options": {
      "type": [
        "object",
        "null"
      ],
      "description": "Order line options",
      "patternProperties": {
        "^[A-Za-z0-9_-]{1,40}$": {
          "type": "string",
          "maxLength": 256
        }
      },
      "additionalProperties": false,
      "maxProperties": 10
    },
    "Campaign": {
      "type": "object",
      "required": [
        "campaignId",
        "name",
        "campaignGroupId"
      ],
      "properties": {
        "campaignId": {
          "type": "string",
          "description": "The campaign id"
        },
        "name": {
          "type": "string",
          "description": "The name of the campaign"
        },
        "campaignGroupId": {
          "type": "string",
          "description": "The campaign group id"
        }
      }
    }
  }
}
Last updated on 2024/11/15