pixiCreateReturn
Legt eine Retouren-Gutschrift für ausgewählte Positionen einer Rechnung an, setzt die Auftragspositionen auf retourniert und bucht die Gutschrift auf das Kundenkonto.
Das API-Gegenstück zum Retouren-Assistenten im Kundenservice. Die Werte werden aufbereitet und anschließend die interne Prozedur Pixi_CreateReturn aufgerufen.
Eingabelisten
InvoiceLines,QuantitiesundPricessind parallele, mit;getrennte Listen (ein fehlendes abschließendes;wird ergänzt). Eintrag n jeder Liste gehört zur selben Rechnungsposition.Pricessind Brutto-Einzelpreise. Der Nettopreis wird je Position alsPrice / (1 + TaxRate/100)mit dem Steuersatz der Rechnungsposition berechnet.- Jeder Rechnungspositionsschlüssel wird in die zugehörige Auftragsposition (
Invlines.OrderLineRef) übersetzt.
Ablauf
- Die erste Rechnungsposition in
InvoiceLinesbestimmt das Lieferland sowie die EinstellungenVATinShipCost/ChargeHighVATInShipCostder Originalrechnung. - Gibt es für das Land heute keinen gültigen MwSt-Satz: Bei aktivem Force Country VAT schlägt der Aufruf fehl, sonst wird ein Standard-MwSt-Satz für das Land angelegt (
Pixi_InsertDefaultVATRateForCountry). - Der Rechnungskopf wird über
InvoiceNrgelesen: Kunde, Rechnungs- und Lieferadresse, Gutschein, Währung (die Retoure erfolgt immer in Auftragswährung). - Standardwerte:
ShipCost= negative Versandkosten der Rechnung (volle Erstattung);Voucher_Amount= Gutscheinsumme der Rechnung (brutto beiB2C, sonst netto). - Gesamtbetrag: minus Summe aus Menge × Preis, plus
ShipCost, minusVoucher_Amount, plusReturnCostsAmount. Würden die Rücksendekosten den Betrag positiv machen, werden sie so reduziert, dass der Betrag 0 ergibt. Pixi_CreateReturnlegt die Gutschrift an: Gutgeschrieben werden nur Positionen der referenzierten Rechnung, deren Auftragsposition den StatusAUShat. Bei geringerer Menge wird die Auftragsposition vorher geteilt. Die gutgeschriebenen Auftragspositionen erhalten den StatusRET, die Gutschrift wird auf das Kundenkonto gebucht, Positionen des RetourenfallsReturnCaseIDwerden geschlossen und ein Historieneintrag geschrieben, passendepixi.Return-Datensätze im Status Erhalten werden auf Gutgeschrieben gesetzt und das EreignisInvoiceCreatedwird veröffentlicht.- Bei
MarkReturnDocumentForPrinting= 1 wirdTimesPrintedder neuen Gutschrift auf 0 gesetzt, damit sie erneut gedruckt wird.
Der Aufruf liefert den Kopf der neuen Gutschrift als eine Zeile.
Hinweise
- Läuft in einer eigenen Transaktion (bzw. einem Savepoint, falls bereits eine Transaktion offen ist). Fehler werden abgefangen, die Transaktion wird zurückgerollt und der Fehler mit
log.InsertError(nicht beigefügt) protokolliert; ob der Fehler an den Aufrufer weitergegeben wird, ist im Code nicht erkennbar. Ein fehlgeschlagener Aufruf kann daher wie ein Aufruf mit leerem Ergebnis aussehen. - In
Prices.als Dezimaltrenner verwenden; die Werte werden nachmoneykonvertiert. - Der Listenparser entfernt den verarbeiteten Schlüssel per
REPLACE. Doppelte Schlüssel oder ein Schlüssel, der das Ende eines späteren Schlüssels bildet (z. B.23;123;), stören das Parsen. Jede Rechnungsposition nur einmal übergeben. - Positionen, deren Auftragsposition nicht im Status
AUSist oder die nicht zur RechnungInvoiceNrgehören, werden stillschweigend übersprungen, fließen aber trotzdem in den berechneten Gesamtbetrag ein. CreateDateundInvoiceDatehaben keine Wirkung: Das Gutschriftsdatum ist immer das aktuelle Datum.DoNotRefund= 1 erzwingtCreateDTAUS= 0.TimesPrintedin der gelieferten Zeile zeigt den Wert vor Anwendung vonMarkReturnDocumentForPrinting.- Die Spalte
1SSist kein gültiger XML-Elementname; stattdessenOneSSverwenden. - Lesezugriffe erfolgen mit
NOLOCK.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
InvoiceNr
Pflicht
|
varchar(20) string |
– |
Nummer der Originalrechnung, die retourniert wird. Beispiel: |
InvoiceLines
Pflicht
|
varchar(max) string |
– |
Mit Semikolon getrennte Liste der gutzuschreibenden Rechnungspositionsschlüssel ( Beispiel: |
Quantities
Pflicht
|
varchar(max) string |
– |
Mit Semikolon getrennte Retourenmengen, je Eintrag in Beispiel: |
Prices
Pflicht
|
varchar(max) string |
– |
Mit Semikolon getrennte Brutto-Einzelpreise für die Gutschrift, je Eintrag in Beispiel: |
PaymentType
Pflicht
|
char(1) string |
– |
Zahlungsartcode für die Erstattung, wird an der Gutschrift gespeichert. Beispiel: |
Account
|
varchar(10) string |
– |
Kontonummer für die Erstattung; Leerzeichen werden entfernt, der Wert wird an der Rechnungsadresse gespeichert. |
BLZ
|
char(8) string |
– |
Bankleitzahl für die Erstattung; Leerzeichen werden entfernt. |
AccountName
Pflicht
|
varchar(27) string |
– |
Name des Kontoinhabers. Beispiel: |
ShipCost
|
money decimal |
NULL |
Gutzuschreibende Versandkosten als negativer Wert. NULL erstattet die vollen Versandkosten der Rechnung; 0 erstattet keine Versandkosten. Beispiel: |
Note
|
varchar(255) string |
– |
Notiz zur Gutschrift. Beispiel: |
ReturnReason
|
varchar(100) string |
– |
Retourengrund, der an der Gutschrift gespeichert wird. Beispiel: |
CreateDate
|
datetime dateTime |
NULL |
Erstellungsdatum; Standard ist jetzt. Wird weitergegeben, von der internen Prozedur aber nicht verwendet. |
CreateEmp
|
varchar(50) string |
API |
Benutzername, der als Ersteller der Gutschrift und aller Änderungen gespeichert wird. Beispiel: |
InvoiceDate
|
datetime dateTime |
NULL |
Datum der Gutschrift; wird in der internen Prozedur durch das aktuelle Datum ersetzt und hat daher keine Wirkung. |
ReturnClosed
|
bit boolean |
1 |
Ob die Retoure als abgeschlossen markiert wird. Erlaubte Werte
Beispiel: |
ReturnCaseID
|
int | NULL |
ID eines Returns-&-Repairs-Falls; dessen Positionen zu den gutgeschriebenen Rechnungspositionen werden geschlossen und ein Historieneintrag geschrieben. |
CreateDTAUS
|
bit boolean |
1 |
Ob für die Erstattung ein DTAUS/eine Überweisung erzeugt werden soll. Wird bei Beispiel: |
DoNotRefund
|
bit boolean |
0 |
Bei 1 wird die Gutschrift nicht über das Kundenkonto erstattet. Erlaubte Werte
Beispiel: |
CAComment
|
varchar(1000) string |
NULL |
Kommentar, der im Kundenkonto-Historieneintrag der Gutschrift gespeichert wird. Beispiel: |
IBAN
|
varchar(30) string |
NULL |
IBAN für die Erstattung, wird an der Rechnungsadresse gespeichert. Beispiel: |
BIC
|
varchar(11) string |
NULL |
BIC für die Erstattung, wird an der Rechnungsadresse gespeichert. Beispiel: |
LanguageId
|
int | 2 |
Sprache des übersetzten Historientexts im Retourenfall. Beispiel: |
ReturnCostsAmount
|
money decimal |
NULL |
Dem Kunden berechnete Rücksendekosten (positiver Wert). Jeder Wert ungleich 0 aktiviert Rücksendekosten; wird reduziert, falls er den Gutschriftbetrag übersteigen würde. Beispiel: |
Voucher_Amount
|
money decimal |
NULL |
Gutscheinbetrag, der von der Gutschrift abgezogen wird. NULL verwendet die Gutscheinsumme der Rechnung (brutto bei B2C, sonst netto). Beispiel: |
MarkReturnDocumentForPrinting
|
bit boolean |
0 |
Bei 1 wird die neue Gutschrift zum Drucken markiert ( Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Wird von der internen Gutschriftanlage geliefert; eine Zeile bei Erfolg, keine Zeile, wenn die Gutschrift nicht angelegt werden konnte. Entfällt, wenn die MwSt-Prüfung fehlschlägt.
Kopf der neuen Gutschrift aus Invoices, verknüpft mit der Währung.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceKey
|
int |
Interner Schlüssel der neuen Gutschrift. |
InvoiceNr
Kann leer sein |
string |
Nummer der Gutschrift. |
InvDate
Kann leer sein |
dateTime |
Datum der Gutschrift. |
CustRef
Kann leer sein |
int |
Kundenschlüssel. |
AddrRef
Kann leer sein |
int |
Schlüssel der Rechnungsadresse. |
Summary
Kann leer sein |
string |
Feld Summary des Belegs. |
VATBaseHigh
Kann leer sein |
decimal |
Bemessungsgrundlage für den vollen MwSt-Satz. |
VATBaseLow
Kann leer sein |
decimal |
Bemessungsgrundlage für den ermäßigten MwSt-Satz. |
VATType
Kann leer sein |
string |
MwSt-Typ. |
VATNo
Kann leer sein |
string |
USt-IdNr. |
skontoprozent
Kann leer sein |
decimal |
Skonto in Prozent. |
SkontoAbz
Kann leer sein |
decimal |
Skontoabzug. |
total
Kann leer sein |
decimal |
Gesamtbetrag (bei Gutschrift negativ). |
Payment
Kann leer sein |
string |
Zahlungsart. |
Printed
Kann leer sein |
string |
Kennzeichen gedruckt. |
PrintDate
Kann leer sein |
dateTime |
Druckdatum. |
Supporter
Kann leer sein |
string |
Zuständiger Mitarbeiter. |
SupportPhone
Kann leer sein |
string |
Support-Telefonnummer. |
PayDay
Kann leer sein |
dateTime |
Zahlungsdatum. |
Payed
Kann leer sein |
string |
Bezahlt-Kennzeichen; nach Anlage NULL. |
PayedSum
Kann leer sein |
decimal |
Bezahlter Betrag; nach Anlage 0. |
SUGKTO
Kann leer sein |
string |
Buchhaltungsfeld SUGKTO. |
BuchuText
Kann leer sein |
string |
Buchungstext. |
AuszugNr
Kann leer sein |
string |
Auszugsnummer. |
Account
Kann leer sein |
string |
Kontonummer. |
BLZ
Kann leer sein |
string |
Bankleitzahl. |
AccName
Kann leer sein |
string |
Kontoinhaber. |
LSDate
Kann leer sein |
dateTime |
Lastschriftdatum. |
LSNr
Kann leer sein |
string |
Lastschriftnummer. |
RLSDate
Kann leer sein |
dateTime |
Datum der Rücklastschrift. |
RLSCost
Kann leer sein |
decimal |
Kosten der Rücklastschrift. |
Reminder1Date
Kann leer sein |
dateTime |
Datum der ersten Mahnung. |
Reminder2Date
Kann leer sein |
dateTime |
Datum der zweiten Mahnung. |
Reminder3Date
Kann leer sein |
dateTime |
Datum der dritten Mahnung. |
CardDate
Kann leer sein |
dateTime |
Kreditkartendatum. |
CardCheck
Kann leer sein |
string |
Kreditkartenprüfung. |
CardType
Kann leer sein |
string |
Kreditkartentyp. |
CardName
Kann leer sein |
string |
Karteninhaber. |
CardNr
Kann leer sein |
string |
Kartennummer. |
CardExp
Kann leer sein |
string |
Kartenablauf. |
Note
Kann leer sein |
string |
Notiz. |
NODRef
Kann leer sein |
int |
Referenzfeld NODRef. |
ShipCode
Kann leer sein |
string |
Versandcode. |
CreateDate
Kann leer sein |
dateTime |
Erstellungsdatum. |
CreateEmp
Kann leer sein |
string |
Erstellt von. |
UpdateDate
Kann leer sein |
dateTime |
Datum der letzten Änderung. |
UpdateEmp
Kann leer sein |
string |
Zuletzt geändert von. |
BoxNr
Kann leer sein |
string |
Boxnummer. |
Total_OrderCurr
Kann leer sein |
decimal |
Gesamtbetrag in Auftragswährung (wie |
Total_ShipCost
Kann leer sein |
decimal |
Versandkosten. |
Total_ShipCost_OrderCurr
Kann leer sein |
decimal |
Versandkosten in Auftragswährung (wie |
GNMcharge
Kann leer sein |
decimal |
Feld GNMcharge. |
ScanOutDate
Kann leer sein |
dateTime |
Datum des Ausscannens. |
OrderCurrency
Kann leer sein |
string |
Währungscode der Gutschrift. |
VATBaseHigh_OrderCurr
Kann leer sein |
decimal |
Wie |
VATBaseLow_OrderCurr
Kann leer sein |
decimal |
Wie |
VATHighPerc
Kann leer sein |
decimal |
Voller MwSt-Satz in Prozent. |
VATLowPerc
Kann leer sein |
decimal |
Ermäßigter MwSt-Satz in Prozent. |
VATHigh
Kann leer sein |
decimal |
MwSt-Betrag zum vollen Satz. |
VATLow
Kann leer sein |
decimal |
MwSt-Betrag zum ermäßigten Satz. |
VATHigh_OrderCurr
Kann leer sein |
decimal |
Wie |
VATLow_OrderCurr
Kann leer sein |
decimal |
Wie |
VATHText
Kann leer sein |
string |
Bezeichnung des vollen MwSt-Satzes. |
VATLText
Kann leer sein |
string |
Bezeichnung des ermäßigten MwSt-Satzes. |
RefToInvoiceNr
Kann leer sein |
string |
Nummer der referenzierten Originalrechnung. |
RefToInvoiceKey
Kann leer sein |
int |
Schlüssel der referenzierten Originalrechnung. |
CCFeeProvision
Kann leer sein |
decimal |
Kreditkarten-Provision. |
CCAddFee
Kann leer sein |
decimal |
Zusätzliche Kreditkartengebühr. |
CCFeeCurrency
Kann leer sein |
string |
Währung der Kreditkartengebühr. |
BankFeeAmmount
Kann leer sein |
decimal |
Bankgebühr. |
CostChargeShop
Kann leer sein |
decimal |
Vom Shop berechnete Kosten. |
CostChargeCurrency
Kann leer sein |
string |
Währung der Kostenberechnung. |
ChargeVAT
Kann leer sein |
string |
Ob MwSt berechnet wird. |
IssueNr
Kann leer sein |
string |
Ausgabenummer. |
ShipVendor
Kann leer sein |
string |
Versanddienstleister. |
CCPPaymentDone
Kann leer sein |
string |
Kennzeichen Kartenzahlung erfolgt. |
CCPAuthCode
Kann leer sein |
string |
Autorisierungscode der Kartenzahlung. |
CCPNumOfTries
Kann leer sein |
int |
Anzahl Versuche der Kartenzahlung. |
CCPReCharge
Kann leer sein |
string |
Kennzeichen Nachbelastung. |
ShipAdrRef
Kann leer sein |
int |
Schlüssel der Lieferadresse. |
InvLocationID
Kann leer sein |
int |
Standort des Belegs. |
TimesPrinted
Kann leer sein |
int |
Druckzähler bei Anlage (1, vor Anwendung von |
InvShopID
Kann leer sein |
string |
Shop-ID. |
CCPShipCostChargedYN
Kann leer sein |
string |
Versandkosten per Karte belastet. |
CCPChargedSoFar
Kann leer sein |
decimal |
Bisher per Karte belasteter Betrag. |
PackageNetWeight
Kann leer sein |
decimal |
Nettogewicht des Pakets. |
PackageGrossWeight
Kann leer sein |
decimal |
Bruttogewicht des Pakets. |
IsPackageLost
Kann leer sein |
string |
Kennzeichen Paket verloren. |
InvShipLock
Kann leer sein |
string |
Versandsperre. |
InvTrackNumber
Kann leer sein |
string |
Sendungsnummer. |
ShipVendorIncrement1
Kann leer sein |
string |
Zähler des Versanddienstleisters. |
VoucherSum_OrderCurr
Kann leer sein |
decimal |
Gutscheinsumme in Auftragswährung. |
VoucherID
Kann leer sein |
string |
Gutschein-ID (max. 60 Zeichen). |
VATinShipCost
Kann leer sein |
string |
Einstellung MwSt in Versandkosten. |
ShippedByVendor
Kann leer sein |
string |
Kennzeichen Versand durch Lieferant. |
VATBaseLow_ShipCost
Kann leer sein |
decimal |
Ermäßigte MwSt-Basis der Versandkosten. |
VATBaseHigh_ShipCost
Kann leer sein |
decimal |
Volle MwSt-Basis der Versandkosten. |
ccpPayID
Kann leer sein |
string |
Zahlungs-ID des Zahlungsanbieters. |
ccpTransID
Kann leer sein |
string |
Transaktions-ID des Zahlungsanbieters. |
ReminderLevel
Kann leer sein |
int |
Mahnstufe. |
ReminderProcessed
Kann leer sein |
string |
Kennzeichen Mahnung verarbeitet. |
ReminderCosts
Kann leer sein |
decimal |
Mahnkosten. |
ReminderReason
Kann leer sein |
string |
Mahngrund. |
ccpSetFailTries
Kann leer sein |
int |
Fehlgeschlagene Versuche beim Zahlungsanbieter. |
ccpSetFailLastTime
Kann leer sein |
dateTime |
Zeitpunkt des letzten Fehlversuchs. |
ShipmentTrackingID
Kann leer sein |
string |
Sendungsverfolgungs-ID. |
ReturnReason
Kann leer sein |
string |
Retourengrund. |
StockNote
Kann leer sein |
string |
Lagernotiz (bei Anlage über diesen Aufruf leer). |
ReturnSupplier
Kann leer sein |
string |
Retourenlieferant (bei diesem Aufruf NULL). |
ReturnClosed
Kann leer sein |
string |
|
Fulfillment
Kann leer sein |
string |
Fulfillment-Feld. |
InvoiceMailSent
Kann leer sein |
string |
Kennzeichen Rechnungsmail versendet. |
TrackingIDsent
Kann leer sein |
string |
Kennzeichen Tracking-ID versendet. |
PaidByCustomer
Kann leer sein |
decimal |
Vom Kunden bezahlter Betrag. |
PLHref
Kann leer sein |
int |
Referenz auf die Pickliste. |
Packages
Kann leer sein |
int |
Anzahl Pakete. |
DiscountTotal
Kann leer sein |
decimal |
Gesamtrabatt. |
PaidAtCreation
Kann leer sein |
string |
Kennzeichen bei Anlage bezahlt. |
TextIfNoInvlines
Kann leer sein |
string |
Text bei fehlenden Positionen. |
retTrackID
Kann leer sein |
string |
Retouren-Tracking-ID. |
retTrackIDhist
Kann leer sein |
string |
Historie der Retouren-Tracking-IDs. |
OneSS
Kann leer sein |
string |
Wert der Spalte |
1SS
Kann leer sein |
string |
Wie |
DueDate
Kann leer sein |
dateTime |
Fälligkeitsdatum. |
CreateDTAUS
Kann leer sein |
boolean |
Ob für die Erstattung ein DTAUS erzeugt wird. |
InvCreationMode
Kann leer sein |
string |
Erstellungsmodus des Belegs. |
VATBaseHigh_ShipCost_OrderCurr
Kann leer sein |
decimal |
Wie |
VATBaseLow_ShipCost_OrderCurr
Kann leer sein |
decimal |
Wie |
VATBaseZero_ShipCost
Kann leer sein |
decimal |
MwSt-freie Basis der Versandkosten. |
VATHigh_ShipCost
Kann leer sein |
decimal |
MwSt-Betrag (voll) der Versandkosten. |
VATLow_ShipCost
Kann leer sein |
decimal |
MwSt-Betrag (ermäßigt) der Versandkosten. |
OrderType
Kann leer sein |
string |
Auftragstyp, z. B. |
Total_Net
Kann leer sein |
decimal |
Nettogesamtbetrag. |
VATBaseZero
Kann leer sein |
decimal |
MwSt-freie Basis. |
Total_ShipCost_Net
Kann leer sein |
decimal |
Netto-Versandkosten. |
ChargeHighVATInShipCost
Kann leer sein |
boolean |
Vollen MwSt-Satz auf Versandkosten berechnen. |
DontChargeShipCostOn2ndDelivery
Kann leer sein |
boolean |
Keine Versandkosten bei Zweitlieferung. |
ExecutionDate
Kann leer sein |
datetime dateTime |
Ausführungsdatum. |
SEPAMandateReferenceRef
Kann leer sein |
int |
Referenz auf das SEPA-Mandat. |
ReturnCostsAmount
Kann leer sein |
decimal |
Rücksendekosten (brutto). |
ReturnCostsAmount_Net
Kann leer sein |
decimal |
Rücksendekosten (netto). |
VoucherSum_Net
Kann leer sein |
decimal |
Netto-Gutscheinsumme. |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceKey>734521</InvoiceKey>
<InvoiceNr>GS2024000871</InvoiceNr>
<InvDate>2024-05-14T10:22:31</InvDate>
<CustRef>88123</CustRef>
<AddrRef>145002</AddrRef>
<total>-30.89</total>
<Payment>U</Payment>
<OrderCurrency>EUR</OrderCurrency>
<RefToInvoiceNr>RE2024001234</RefToInvoiceNr>
<RefToInvoiceKey>731990</RefToInvoiceKey>
<TimesPrinted>1</TimesPrinted>
<ReturnReason>Wrong size</ReturnReason>
<ReturnClosed>Y</ReturnClosed>
<CreateDTAUS>true</CreateDTAUS>
<OrderType>B2C</OrderType>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| RAISERROR | The VAT rate for selected shipping country was not entered in pixi* Control Center. Since setting "Force Country VAT" is enabled for this country, creation of [Order/Invoice/...] is not possible. Please add VAT rates for country {shipping country} in pixi* Control Center and try again. | Für das Lieferland der Rechnung (aus der ersten Rechnungsposition) gibt es heute keinen gültigen MwSt-Satz und *Force Country VAT* ist aktiv. MwSt-Sätze im Control Center pflegen. Der Fehler wird vom äußeren Handler abgefangen und protokolliert. |
| RAISERROR | Error in [Pixi_InsertDefaultVATRateForCountry]: Unknown country code supplied on line {line} | Das Land konnte nicht ermittelt werden, z. B. weil der erste Schlüssel in `InvoiceLines` nicht existiert, daher kann kein Standard-MwSt-Satz angelegt werden. Gültige Rechnungspositionsschlüssel übergeben. |
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiCreateReturn>
<InvoiceNr>RE2024001234</InvoiceNr>
<InvoiceLines>501234;501235;</InvoiceLines>
<Quantities>1;2;</Quantities>
<Prices>19.99;5.50;</Prices>
<PaymentType>U</PaymentType>
<!-- <Account>?</Account> -->
<!-- <BLZ>?</BLZ> -->
<AccountName>Max Mustermann</AccountName>
<!-- <ShipCost>-4.90</ShipCost> -->
<!-- <Note>Return via API</Note> -->
<!-- <ReturnReason>Wrong size</ReturnReason> -->
<!-- <CreateDate>?</CreateDate> -->
<!-- <CreateEmp>API</CreateEmp> -->
<!-- <InvoiceDate>?</InvoiceDate> -->
<!-- <ReturnClosed>1</ReturnClosed> -->
<!-- <ReturnCaseID>?</ReturnCaseID> -->
<!-- <CreateDTAUS>1</CreateDTAUS> -->
<!-- <DoNotRefund>0</DoNotRefund> -->
<!-- <CAComment>Refund via bank transfer</CAComment> -->
<!-- <IBAN>DE89370400440532013000</IBAN> -->
<!-- <BIC>COBADEFFXXX</BIC> -->
<!-- <LanguageId>2</LanguageId> -->
<!-- <ReturnCostsAmount>3.00</ReturnCostsAmount> -->
<!-- <Voucher_Amount>0</Voucher_Amount> -->
<!-- <MarkReturnDocumentForPrinting>0</MarkReturnDocumentForPrinting> -->
</ns1:pixiCreateReturn>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiCreateReturn>
<InvoiceNr>RE2024001234</InvoiceNr>
<InvoiceLines>501234;501235;</InvoiceLines>
<Quantities>1;2;</Quantities>
<Prices>19.99;5.50;</Prices>
<PaymentType>U</PaymentType>
<!-- <Account>?</Account> -->
<!-- <BLZ>?</BLZ> -->
<AccountName>Max Mustermann</AccountName>
<!-- <ShipCost>-4.90</ShipCost> -->
<!-- <Note>Return via API</Note> -->
<!-- <ReturnReason>Wrong size</ReturnReason> -->
<!-- <CreateDate>?</CreateDate> -->
<!-- <CreateEmp>API</CreateEmp> -->
<!-- <InvoiceDate>?</InvoiceDate> -->
<!-- <ReturnClosed>1</ReturnClosed> -->
<!-- <ReturnCaseID>?</ReturnCaseID> -->
<!-- <CreateDTAUS>1</CreateDTAUS> -->
<!-- <DoNotRefund>0</DoNotRefund> -->
<!-- <CAComment>Refund via bank transfer</CAComment> -->
<!-- <IBAN>DE89370400440532013000</IBAN> -->
<!-- <BIC>COBADEFFXXX</BIC> -->
<!-- <LanguageId>2</LanguageId> -->
<!-- <ReturnCostsAmount>3.00</ReturnCostsAmount> -->
<!-- <Voucher_Amount>0</Voucher_Amount> -->
<!-- <MarkReturnDocumentForPrinting>0</MarkReturnDocumentForPrinting> -->
</ns1:pixiCreateReturn>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
'InvoiceNr' => 'RE2024001234',
'InvoiceLines' => '501234;501235;',
'Quantities' => '1;2;',
'Prices' => '19.99;5.50;',
'PaymentType' => 'U',
// 'Account' => '?',
// 'BLZ' => '?',
'AccountName' => 'Max Mustermann',
// 'ShipCost' => '-4.90',
// 'Note' => 'Return via API',
// 'ReturnReason' => 'Wrong size',
// 'CreateDate' => '?',
// 'CreateEmp' => 'API',
// 'InvoiceDate' => '?',
// 'ReturnClosed' => '1',
// 'ReturnCaseID' => '?',
// 'CreateDTAUS' => '1',
// 'DoNotRefund' => '0',
// 'CAComment' => 'Refund via bank transfer',
// 'IBAN' => 'DE89370400440532013000',
// 'BIC' => 'COBADEFFXXX',
// 'LanguageId' => '2',
// 'ReturnCostsAmount' => '3.00',
// 'Voucher_Amount' => '0',
// 'MarkReturnDocumentForPrinting' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCreateReturn', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiCreateReturn