Empfangen Sie Bestellungen unterschiedlicher cXML-Kunden und definieren Sie Ihr eigenes Datenformat für unsere REST-API.
Achtung: Diese Funktion steht aktuell nur ausgewählten Kunden im Rahmen unserer Enterprise-Verträge zur Verfügung.
Erstellung eines Bestellprofils
Bestellprofile sind der Kern unseres Bestellmoduls. Hier haben Sie die Möglichkeit, ein eigenes Datenmodell zu
definieren und dieses über eine REST-API zur Verfügung zu stellen. Ein Bestellprofil kann hierbei einem oder mehreren Kunden zugewiesen sein.
Dazu wechseln Sie zunächst in den Bereich Bestellprofile und klicken dort auf "Neues Bestellprofil erstellen". Jetzt haben
Sie die Möglichkeit, einen Namen für Ihr Profil zu vergeben und eine cXML-Datei vom Typ "OrderRequest" hochzuladen.
Im nächsten Schritt erstellen Sie ein Datenmodell für Ihr Bestellprofil, wobei wir für jedes neue Bestellprofil einen
Vorschlag auf Basis des cXML-Datenmodells generieren.
Übermittlung von Bestellungen aus Drittsystemen
Procurement-Systeme wie z. B. Ariba® oder Coupa können so konfiguriert werden, dass neue Bestellungen Ihrer Kunden als
cXML-OrderRequest automatisiert an die u.g. Adresse übertragen werden. Die Adresse ist für alle Ihre Kunden identisch
und verwendet die normale Authentifizierung des cXML-Standards.
https://<instanz>.enterprise.punchcommerce.de/api/v1/orders/cxml
Der Endpunkt erwartet ein cXML-OrderRequest-Dokument gemäß Spezifikation in Kapitel 7 des cXML-Reference Guides.
Wichtig: Der Emfpang von Bestellungen ist nur für Kunden möglich, denen Sie ein Bestellprofil zugewiesen haben.
Bestellungen für unbekannte Kunden, oder Kunden ohne Profil, werden automatisch abgelehnt und stehen für eine
Verarbeitung über unsere API nicht zur Verfügung.
Beispiel-Dokument
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML xml:lang="en-US" payloadID="93369535150910.10.57.136" timestamp="2000-08-03T08:49:11+07:00">
<Header>
<From>
<Credential domain="AribaNetworkUserId">
<Identity>admin@acme.com</Identity>
</Credential>
</From>
<To>
<Credential domain="DUNS">
<Identity>114315195</Identity>
</Credential>
</To>
<Sender>
<Credential domain="AribaNetworkUserId">
<Identity>sysadmin@ariba.com</Identity>
<SharedSecret>abracadabra</SharedSecret>
</Credential>
<UserAgent>Network Hub V1.1</UserAgent>
</Sender>
</Header>
<Request>
<OrderRequest>
<OrderRequestHeader orderID="DO102880" orderDate="2012-08-03T08:49:09+07:00" type="new">
<Total>
<Money currency="USD">86.50</Money>
</Total>
<ShipTo>
<Address isoCountryCode="US" addressID="1000467">
<Name xml:lang="en">Acme, Inc.</Name>
<PostalAddress name="default">
<DeliverTo>John Q. Smith</DeliverTo>
<DeliverTo>Buyers Headquarters</DeliverTo>
<Street>123 Main Street</Street>
<City>Mountain View</City>
<State isoStateCode="US-CA">CA</State>
<PostalCode>94089</PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
<Email name="default">john_smith@acme.com</Email>
<Phone name="work">
<TelephoneNumber>
<CountryCode isoCountryCode="US">1</CountryCode>
<AreaOrCityCode>800</AreaOrCityCode>
<Number>5555555</Number>
</TelephoneNumber>
</Phone>
</Address>
</ShipTo>
<BillTo>
<Address isoCountryCode="US" addressID="12">
<Name xml:lang="en">Acme Accounts Payable</Name>
<PostalAddress name="default">
<Street>124 Union Street</Street>
<City>San Francisco</City>
<State isoStateCode="US-CA">CA</State>
<PostalCode>94128</PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
<Phone name="work">
<TelephoneNumber>
<CountryCode isoCountryCode="US">1</CountryCode>
<AreaOrCityCode>415</AreaOrCityCode>
<Number>6666666</Number>
</TelephoneNumber>
</Phone>
</Address>
</BillTo>
<LegalEntity>
<IdReference domain="CompanyCode" identifier="CH01">
<Description>SAP AG</Description>
</IdReference>
</LegalEntity>
<OrganizationalUnit>
<IdReference domain=" PurchasingOrganization" identifier="SCP">
<Description> SCPM Purchasing Org </Description>
</IdReference>
</OrganizationalUnit>
<OrganizationalUnit>
<IdReference domain=" PurchasingGroup" identifier="0001">
<Description> PGP Buyer </Description>
</IdReference>
</OrganizationalUnit>
<Shipping>
<Money currency="USD">10.00</Money>
<Description xml:lang="en-US">FedEx 2-day</Description>
</Shipping>
<Tax>
<Money currency="USD">1.5</Money>
<Description xml:lang="en">CA State Tax</Description>
</Tax>
<Payment>
<PCard number="1234567890123456" expiration="2015-03-12"/>
</Payment>
</OrderRequestHeader>
<ItemOut quantity="2" lineNumber="1">
<ItemID>
<SupplierPartID>220-3165</SupplierPartID>
<SupplierPartAuxiliaryID>E000028901</SupplierPartAuxiliaryID>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money currency="USD">55.00</Money>
<Modifications>
<Modification>
<OriginalPrice>
<Money currency = "USD">50.00</Money>
</OriginalPrice>
<AdditionalCost>
<Money currency = "USD">5</Money>
</AdditionalCost>
<ModificationDetail endDate = "2013-11-30T10:15:00-08:00" name = "Royalties" startDate = "2012-08-03T10:15:00-08:00">
<Description xml:lang = "en-US">Charge for Royalties</Description>
</ModificationDetail>
</Modification>
</Modifications>
</UnitPrice>
<Description xml:lang="en">Laptop Computer Notebook Pentium® II
processor w/AGP, 300 MHz, with 12.1" TFT XGA
Display</Description>
<UnitOfMeasure>EA</UnitOfMeasure>
<Classification domain="UNSPSC">43171801</Classification>
<URL>http://www.supplier.com/Punchout.asp</URL>
<Extrinsic name="ExtDescription">Enhanced keyboard</Extrinsic>
</ItemDetail>
<Distribution>
<Accounting name="DistributionCharge">
<AccountingSegment id="7720">
<Name xml:lang="en-US">Account</Name>
<Description xml:lang="en-US">Office Supplies
</Description>
</AccountingSegment>
<AccountingSegment id="610">
<Name xml:lang="en-US">Cost Center</Name>
<Description xml:lang="en-US">Engineering Management
</Description>
</AccountingSegment>
</Accounting>
<Charge>
<Money currency="USD">20.00</Money>
</Charge>
</Distribution>
</ItemOut>
</OrderRequest>
</Request>
</cXML>
Beispiel-Antwort
Unser System antwortet, wenn kein Fehler bei der Verarbeitung der Bestellung auftritt, mit dem nachfolgenden (beispielhaften) Response als Bestätigung des
Eingangs der Bestellung. In diesem Schritt entsteht keine kaufmännische Verbindlichkeit.
<cXML payloadID="9949494" xml:lang="en"
timestamp="1999-03-12T18:39:09-08:00">
<Response>
<Status code="200" text="OK"/>
</Response>
</cXML>
Zugriff auf die Bestellungen über unsere REST-API
Für jedes Bestellprofil werden individuelle Zugangsdaten in Form eines Tokens und einer URL für unsere REST-API erzeugt.
Liste aller Bestellungen eines Profils
Abfrage einer Liste aller eingegangenen Bestellungen:
GET {{punchcommerce_host}}/api/v1/profile/{{profile_id}}
Response:
{
"data": {
"id": "4a152855-1a26-4059-a637-4d56cc151d9e",
"name": "adsd",
"customers": [
{
"uuid": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"name": "Mraz Inc"
}
],
"orders": [
{
"id": "cb074373-60d9-4c1b-9453-988602da457e",
"customer_id": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"customer": "Mraz Inc",
"created_at": "2022-10-03T13:21:16.000000Z",
"link": "https://punchcommerce.local/api/v1/profile/4a152855-1a26-4059-a637-4d56cc151d9e/order/cb074373-60d9-4c1b-9453-988602da457e"
},
{
"id": "b8f7e5e1-b4da-4bc6-b4b1-7f2e85d3b99d",
"customer_id": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"customer": "Mraz Inc",
"created_at": "2022-10-03T13:20:29.000000Z",
"link": "https://punchcommerce.local/api/v1/profile/4a152855-1a26-4059-a637-4d56cc151d9e/order/b8f7e5e1-b4da-4bc6-b4b1-7f2e85d3b99d"
},
{
"id": "f09473fc-876b-4005-bd7e-df8bdd53ccbc",
"customer_id": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"customer": "Mraz Inc",
"created_at": "2022-10-03T13:12:15.000000Z",
"link": "https://punchcommerce.local/api/v1/profile/4a152855-1a26-4059-a637-4d56cc151d9e/order/f09473fc-876b-4005-bd7e-df8bdd53ccbc"
},
{
"id": "e7eed80a-6d0d-4657-8d85-ae4e4c9f13ae",
"customer_id": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"customer": "Mraz Inc",
"created_at": "2022-09-19T09:43:09.000000Z",
"link": "https://punchcommerce.local/api/v1/profile/4a152855-1a26-4059-a637-4d56cc151d9e/order/e7eed80a-6d0d-4657-8d85-ae4e4c9f13ae"
},
{
"id": "3b379913-77a0-441a-af57-d45308a94738",
"customer_id": "69f14942-178d-4d57-b6d5-fdd9d4aee407",
"customer": "Mraz Inc",
"created_at": "2022-09-19T09:43:07.000000Z",
"link": "https://punchcommerce.local/api/v1/profile/4a152855-1a26-4059-a637-4d56cc151d9e/order/3b379913-77a0-441a-af57-d45308a94738"
}
]
}
Details zu einer Bestellung
Achtung, die Antwort auf diesen Request ist abhängig vom Datenmodell, dass Sie für das zugehörige Bestellprofil in
unserem System konfiguriert haben.
{{punchcommerce_host}}/api/v1/profile/{{profile_id}}/order/{{order_id}}
Beispiel-Response:
{
"data": {
"meta": {
"request_id": "1637737323553.569506334.000002897@IrwnYChEL2oZa48FesaJ62+R18I=",
"cxml_version": "1.2.044",
"language": "en-US"
},
"order": {
"total": "17",
"currency": "EUR",
"date": "2021-11-23T23:01:59-08:00",
"reference": "EP686328",
"version": 1,
"billing": {
"company": "FOOBAR GMBH - RECHNUNGSPRUEFUNG",
"street": "Walter-Flex-Str. 27",
"zip": "24000",
"city": "Hamburg",
"country": "Deutschland"
},
"shipping": {
"company": "FOOBAR GMBH",
"street": "Walter-Flex-Str. 27",
"zip": "65428",
"city": "Rüsselsheim",
"country": "Deutschland"
},
"items": [
{
"index": 1,
"ordernumber": "FOOBAR_VK-deutsch_up",
"quantity": 100,
"name": "FOOBAR Visitenkarte (Deutsch)",
"unit_price": "0.17",
"unit": "EA"
}
]
}
}