NFON examples

Here are some NFON examples for the various workflow result structures.

EP1: ConfigureLineItem

{
  "@type": "n4.cuwo.workflows.configurelineitem.ConfigureLineItemWorkflowResult",
  "lineItems": [
    {
      "@type": "n4.apis.basket.items.LineItem",
      "id": "1",
      "name": "Burger with extra Bacon",
      "product": {
        "@type": "n4.apis.shared.ProductReference",
        "articleID": "XY_burger"
      },
      "quantity": {
        "@type": "n4.model.common.Quantity",
        "value": {
          "@type": "n4.lang.FixedPoint6",
          "value": "1000000"
        },
        "unit": {
          "@type": "n4.model.common.UnitOfQuantity",
          "name": "PIECES"
        }
      },
      "basePriceAndQuantity": {
        "@type": "n4.apis.shared.ProductPriceAndQuantity",
        "price": {
          "@type": "n4.model.common.Money",
          "amount": {
            "@type": "n4.lang.FixedPoint6",
            "value": "5000000"
          },
          "unit": {
            "@type": "n4.model.common.Currency",
            "name": "EUR"
          }
        },
        "quantity": {
          "@type": "n4.model.common.Quantity",
          "value": {
            "@type": "n4.lang.FixedPoint6",
            "value": "1000000"
          },
          "unit": {
            "@type": "n4.model.common.UnitOfQuantity",
            "name": "PIECES"
          }
        }
      },
      "externalID": "1234",
      "externalData": "abcdefg",
      "requiresCustomCancelFlow": false,
      "requiresCustomRefundFlow": true
    },
    {
      "@type": "n4.apis.basket.items.LineItem",
      "id": "2",
      "name": "Extra Bacon",
      "product": {
        "@type": "n4.apis.shared.ProductReference",
        "articleID": "XY_bacon"
      },
      "quantity": {
        "@type": "n4.model.common.Quantity",
        "value": {
          "@type": "n4.lang.FixedPoint6",
          "value": "2000000"
        },
        "unit": {
          "@type": "n4.model.common.UnitOfQuantity",
          "name": "PIECES"
        }
      },
      "basePriceAndQuantity": {
        "@type": "n4.apis.shared.ProductPriceAndQuantity",
        "price": {
          "@type": "n4.model.common.Money",
          "amount": {
            "@type": "n4.lang.FixedPoint6",
            "value": "600000"
          },
          "unit": {
            "@type": "n4.model.common.Currency",
            "name": "EUR"
          }
        },
        "quantity": {
          "@type": "n4.model.common.Quantity",
          "value": {
            "@type": "n4.lang.FixedPoint6",
            "value": "1000000"
          },
          "unit": {
            "@type": "n4.model.common.UnitOfQuantity",
            "name": "PIECES"
          }
        }
      },
      "dependency": {
        "@type": "n4.apis.basket.items.LineItemDependency",
        "itemID": "1",
        "dependencyType": {
          "@type": "n4.apis.basket.items.LineItemDependencyType",
          "name": "OPTION"
        },
        "optionDefinition": {
          "@type": "n4.apis.basket.items.OptionDefinitionReference",
          "optionGroupID": "123123",
          "optionID": "5"
        }
      }
    }
  ]
}

EP2: assembleProduct

{
    "@type": "n4.cuwo.AssembleProductWorkflowResult",
    "updatedExternalData": "abcdefg"
}

EP3: cancelLineItem

{
    "@type": "n4.cuwo.CancelLineItemWorkflowResult",
    "reason": {
        "@type": "n4.metacompany.jobs.LineItemCancelationReason",
        "value": "TYPING_ERROR"
    },
    "updatedExternalData": "abcdefg"
}

EP4: refundLineItem

{
    "@type": "n4.cuwo.RefundLineItemWorkflowResult",
    "reason": {
        "@type": "n4.metacompany.jobs.LineItemCancelationReason",
        "value": "CUSTOMER_COMPLAINT"
    },
    "updatedExternalData": "abcdefg"
}