Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wir gehen von folgendem Szenario aus: Der Käufer hat im Online-Shop des Verkäufers bereits einen Artikel in den Warenkorb gelegt und hat in seinem eigenen Warenwirtschaftssystem eine Bestellung mit weiteren Artikeln angelegt. Diese beiden Bestellungen sollen synchronisiert und abgeschlossen werden. Der Client verwendet hierzu die Transaktion OrderInOnlineShop. Als erstes informiert er sich vermöge der Anfrage

Code Block
httphttps://shop.beispielserver.com/vc_order.jsp?BuyersID=127654&Password=secret
&RequestName=ViewOrderRequest&TransactionId=online-basket

(Zeilenumbrüche nur zur besseren Lesbarkeit!) über den Inhalt des Warenkorbs. Die abweichende URL und die TransactionID hat er dem veloconnect-Profil des Servers entnommen.

Folgende Antwort wird zurückgeliefert.

Code Block
<?xml version="1.0" encoding="iso-8859-1" ?>
<OrderResponse  xmlns="urn:veloconnect:order-1.1"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
xmlns:vct="urn:veloconnect:transaction-1.0">
<vct:BuyersID>B127645</vct:BuyersID>
<vct:ResponseCode>200</vct:ResponseCode>
<vct:TransactionID>online-basket</vct:TransactionID>
<vct:StatusCode>2</vct:StatusCode>
<OrderResponseLine>
  <cbc:Quantity quantityUnitCode="PK">5</cbc:Quantity>
  <cac:Item>
     <cbc:Description>Speichen DD 2,0x1,8x 263 mm, silber
Race,Niro, mit Messingnippel</cbc:Description>
     <cbc:PackQuantity quantityUnitCode="EA">100</cbc:PackQuantity>
     <cac:BuyersItemIdentification>
	<cac:ID>7285</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>42213526300</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191511108</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">34.90</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">29.50</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">10</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.70</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="EA">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">29.50</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
</OrderResponse>

Durch Abgleich mit den eigenen Stammdaten oder durch Abfrage beim Benutzer ermittelt der Client die interne Artikelnummer und fügt den Inhalt des Warenkorbs in die Bestellung ein. Die noch nicht im Warenkorb befindlichen Positionen dieser Bestellung werden dem Server durch Übermittlung folgenden XML-Dokuments an die URL httphttps://shop.beispielserver.com/vc_order.jsp mitgeteilt.

...

Der Server antwortet hierauf so. :

Code Block
<?xml version="1.0" encoding="iso-8859-1" ?>
<OrderResponse  xmlns="urn:veloconnect:order-1.1"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
xmlns:vct="urn:veloconnect:transaction-1.0">
<vct:BuyersID>B127645</vct:BuyersID>
<vct:ResponseCode>200</vct:ResponseCode>
<vct:TransactionID>online-basket</vct:TransactionID>
<vct:StatusCode>2</vct:StatusCode>
<OrderResponseLine>
   <cbc:Quantity quantityUnitCode="PK">5</cbc:Quantity>
   <cac:Item>
     <cbc:Description>Speichen DD 2,0x1,8x 263 mm, silber
Race,Niro, mit Messingnippel</cbc:Description>
     <cbc:PackQuantity quantityUnitCode="EA">100</cbc:PackQuantity>
     <cac:BuyersItemIdentification>
	<cac:ID>7285</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>42213526300</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191511108</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">34.90</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">29.50</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">10</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.70</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="EA">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">29.50</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
<OrderResponseLine>
  <cbc:Quantity quantityUnitCode="PK">2</cbc:Quantity>
  <cac:Item>
     <cbc:Description>Bremsinnenzug 1800 mm mit Quernippel</cbc:Description>
     <cbc:PackSizeNumeric>10</cbc:PackSizeNumeric>
     <cac:BuyersItemIdentification>
	<cac:ID>7290</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>42038057500</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191018164</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">5.5</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">4.8</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">2</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">4.5</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">5</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.99</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="EA">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">4.80</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
<OrderResponseLine>
  <cbc:Quantity quantityUnitCode="PK">4</cbc:Quantity>
  <cac:Item>
     <cbc:Description>Shimano Bremsaußenhülle M-System schwarz</cbc:Description>
     <cbc:PackQuantity quantityUnitCode="MTR">30</cbc:PackQuantity>
     <cac:BuyersItemIdentification>
	<cac:ID>7295</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>52090311100</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191027388</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.96</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.87</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="MTR">60</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.79</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="MTR">90</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">1.77</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">23.70</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
</OrderResponse>

Nunmehr sind Warenkorb und Bestellung abgeglichen. Würde der Benutzer im Online-Shop den aktuellen Warenkorb abrufen, enthielte dieser genau die gleichen drei Positionen, die die Bestellung im eigenen Warenwirtschaftssystem enthält. Die Bestellung wird nun mit der Anfrage

Code Block
httphttps://shop.beispielserver.com/vc_order.jsp?BuyersID=127654&Password=secret
&RequestName=FinishOrderRequest&TransactionId=online-basket

(Zeilenumbrüche nur zur besseren Lesbarkeit!) abgeschlossen, worauf der Server die erwartete Auftragsbestätigung komplette Bestellung zurückliefert.

Code Block
<?xml version="1.0" encoding="iso-8859-1" ?>
<FinalOrderResponse  xmlns="urn:veloconnect:order-1.1"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"
xmlns:vct="urn:veloconnect:transaction-1.0">
<vct:BuyersID>B127645</vct:BuyersID>
<vct:ResponseCode>200</vct:ResponseCode>
<vct:TransactionID>online-basket</vct:TransactionID>
<vct:StatusCode>100</vct:StatusCode>
<OrderHeader>
   <OrderID>123456-BS-2345</OrderID>
   <cbc:IssueDate>2005-07-01</cbc:IssueDate>
</OrderHeader>
<OrderResponseLine>
   <cbc:Quantity quantityUnitCode="PK">5</cbc:Quantity>
   <cac:Item>
     <cbc:Description>Speichen DD 2,0x1,8x 263 mm, silber
Race,Niro, mit Messingnippel</cbc:Description>
     <cbc:PackQuantity quantityUnitCode="EA">100</cbc:PackQuantity>
     <cac:BuyersItemIdentification>
	<cac:ID>7285</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>42213526300</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191511108</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">34.90</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">29.50</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">10</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.70</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="EA">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">29.50</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
<OrderResponseLine>
  <cbc:Quantity quantityUnitCode="PK">2</cbc:Quantity>
  <cac:Item>
     <cbc:Description>Bremsinnenzug 1800 mm mit Quernippel</cbc:Description>
     <cbc:PackSizeNumeric>10</cbc:PackSizeNumeric>
     <cac:BuyersItemIdentification>
	<cac:ID>7290</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>42038057500</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191018164</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">5.5</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">4.8</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">2</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">4.5</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="PK">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="PK">5</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.99</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="EA">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">4.80</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
<OrderResponseLine>
  <cbc:Quantity quantityUnitCode="PK">4</cbc:Quantity>
  <cac:Item>
     <cbc:Description>Shimano Bremsaußenhülle M-System schwarz</cbc:Description>
     <cbc:PackQuantity quantityUnitCode="MTR">30</cbc:PackQuantity>
     <cac:BuyersItemIdentification>
	<cac:ID>7295</cac:ID>
     </cac:BuyersItemIdentification>
     <cac:SellersItemIdentification>
       <cac:ID>52090311100</cac:ID>
     </cac:SellersItemIdentification>
     <cac:StandardItemIdentification>
       <cac:ID identificationSchemeID="EAN/UCC-13">4032191027388</cac:ID>
     </cac:StandardItemIdentification>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.96</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.87</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="MTR">60</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:BasePrice>
        <cbc:PriceAmount amountCurrencyID="EUR">0.79</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
	<cbc:MinimumQuantity quantityUnitCode="MTR">90</cbc:MinimumQuantity>
     </cac:BasePrice>
     <cac:RecommendedRetailPrice>
        <cbc:PriceAmount amountCurrencyID="EUR">1.77</cbc:PriceAmount>
	<cbc:BaseQuantity quantityUnitCode="MTR">1</cbc:BaseQuantity>
     </cac:RecommendedRetailPrice>
  </cac:Item>
  <cac:UnitPrice amountCurrencyID="EUR">23.70</cac:UnitPrice>
  <Availability>
      <Code>available</Code>
  </Availability>
</OrderResponseLine>
</FinalOrderResponse>

Damit ist nun auch der Warenkorb im Online-Shop wieder leer und die Bestellung im Warenwirtschaftssystem des Käufers als bestellt markiert.