Zum Inhalt springen

Lösungen

Freelancer & Selbstständige Rechnungen und Belege ohne Shop eBay Verkäufe automatisch abrechnen Shopify Bestellungen direkt aus dem Shop WooCommerce WordPress-Shop anbinden

Aufträge

order.create

Legt einen neuen Auftrag an.

Daten

Felder Beschreibung Erlaubte Werte Standard
order_type Quelle des Auftrags, z. B. "amazon". "csv" für den CSV-Import, das Programm, aus dem die Datei stammt, steht in external_account_name, z. B. "Billbee" String "billware"
external_ident Wurde der Auftrag z. B. von eBay importiert, ist das die eindeutige Kennung aus der Quelle String ""
external_account_name Wurde der Auftrag z. B. von eBay importiert, ist das der Name des eBay-Kontos String ""
customer_ident Pflicht Kennung des Kunden, der zum Auftrag gehört String
divergent_delivery_address Gibt an, ob die Lieferadresse von der Rechnungsadresse abweicht 0 Nein 1 Ja 0
address_ident Kennung der Lieferadresse, die der Auftrag übernimmt, wenn divergent_delivery_address auf 1 steht String ""
date_created Datum des Auftrags Datum als String "2026-10-19 04:51:46"
date_paid Datum, an dem der Auftrag vollständig bezahlt wurde. Liegt es in der Vergangenheit, gilt der Auftrag als bezahlt Datum als String NULL
invoice_nr Rechnungsnummer, die beim Erzeugen der Rechnung gesetzt wird. Lässt du sie leer und erzeugst die Rechnung, wird automatisch eine Nummer vergeben String ""
is_quotation Gibt an, ob der Auftrag ein Angebot ist; mit dem Wert 0 wird er zum Auftrag 0 Nein 1 Ja 0
is_canceled Gibt an, ob der Auftrag storniert ist 0 Nein 1 Ja 0
small_entrepreneur Gibt an, ob die Kleinunternehmerregelung für den Auftrag gilt 0 Nein 1 Ja 0
reverse_charge Gibt an, ob für den Auftrag die Steuerschuldnerschaft des Leistungsempfängers gilt (Reverse Charge) 0 Nein 1 Ja 0
intracommunity Gibt an, ob der Auftrag eine steuerfreie innergemeinschaftliche Lieferung ist 0 Nein 1 Ja 0
differential_taxation Gibt an, ob für den Auftrag die Differenzbesteuerung nach § 25a UStG gilt 0 Nein 1 Ja 0
document_show_article_description Gibt an, ob die Artikelbeschreibung auf der Rechnung erscheint 0 Nein 1 Ja 0
term_of_credit Zahlungsziel in Tagen Integer Das Zahlungsziel aus deinen billware-Einstellungen
user_note Optionale interne Notiz zu diesem Auftrag String ""
public_authority_id Leitweg-ID einer Behörde, z. B. 04011000-1234512345-06. Kommt in die E-Rechnung als Käuferreferenz (BT-10) und elektronische Adresse des Käufers (BT-49). Die Prüfziffern werden geprüft, eine falsche ID wird abgelehnt. Leer oder nicht gesetzt: die public_authority_id des Kunden. Ein Kunde ohne eigene behält auch die des Auftrags String bis 46 Zeichen public_authority_id des Kunden
customer_reference Referenz des Kunden, z. B. seine Bestellnummer. Steht auf den Dokumenten und in der E-Rechnung als Bestellreferenz (BT-13), ohne public_authority_id auch als Käuferreferenz (BT-10) String bis 128 Zeichen ""
date_delivered Zeitraum und Art der Leistung Array Array
type Gibt an, wie das Lieferdatum des Auftrags bestimmt wird 0 Konkretes Datum 1 Wie das Rechnungsdatum -1 Unbekannt 2 Zeitraum von bis 3 Wie das Lieferscheindatum 1
start Das konkrete Datum oder der Beginn des Zeitraums Datum als String NULL
end Das Ende des Zeitraums Datum als String NULL
discount Felder des Rabatts für den Auftrag Array Array
title Bezeichnung des Rabatts, erscheint auf den Dokumenten String ""
calculation_type Gibt an, ob und wie der Rabatt angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag -1
price_type Bei calculation_type 1: ob der Rabatt auf den Netto- oder den Bruttopreis wirkt 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis 0
value Wert des Rabatts als Prozentsatz oder Betrag, je nach calculation_type Float 0
payment Felder der Zahlungsart für den Auftrag Array Array
name Name der Zahlungsart String ""
calculation_type Gibt an, ob und wie die Zahlungsart angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag 2 Kostenlos, Zahlungsart wird genannt, aber nicht berechnet -1
price_type Bei calculation_type 1: ob der Aufschlag der Zahlungsart auf den Netto- oder den Bruttopreis wirkt 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis 0
value Aufschlag der Zahlungsart als Prozentsatz oder Betrag, je nach calculation_type Float 0
cashback_active Gibt an, ob Skonto aktiv ist 0 Nein 1 Ja 0
cashback Skonto für den Auftrag in Prozent Integer 0
cashback_days Anzahl der Tage auf der Rechnung, in denen das Skonto gilt Integer 0
shipping Felder der Versandart für den Auftrag Array Array
carrier Name des Versanddienstleisters String ""
tracking Sendungsnummer der Lieferung String ""
calculation_type Gibt an, ob und wie die Versandart angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag 2 Kostenlos, Versandart wird genannt, aber nicht berechnet -1
price_type Bei calculation_type 1: ob die Versandkosten auf den Netto- oder den Bruttopreis wirken 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis 0
value Versandkosten als Prozentsatz oder Betrag, je nach calculation_type Float 0
articles Array der Artikel, die dem Auftrag hinzugefügt werden Array Array
[KEYS] Array-Element mit den Feldern eines Artikels. Der Schlüssel kann eine Zahl oder eine Zeichenkette sein Array Key NULL
article_ident Kennung des Artikels oder eine beliebige Zeichenkette, wenn der Artikel nicht in der Datenbank existiert String NULL
article_price Nettopreis des Artikels Float 0.0000
article_purchase_price Einkaufspreis des Artikels Float 0.0000
article_tax_rate Steuersatz des Artikels Float 0.0000
article_quantity Menge dieser Position Float 0.00
article_position Position dieses Artikels in den Tabellen der Dokumente Integer 1
article_title Titel dieses Artikels String ""
article_subtitle Untertitel dieses Artikels String ""
article_unit Kennung der Einheit des Artikels "unit_ppu" Preis je Stück "unit_hour" Einheit sind Stunden "unit_lump" Pauschal "unit_kg" Einheit sind Kilogramm "unit_ppu"
article_sku SKU des Artikels String ""
article_ean EAN des Artikels String ""
article_nr Artikelnummer String ""

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"customer_ident":"46yq1898qmohrz57","order_date":"2025-07-16 10:00:00","due_date":"2025-07-30 00:00:00","is_paid":0,"invoice_number":null,"is_quotation":0,"small_entrepreneur":0,"reverse_charge":0,"intra_community":0,"term_of_credit":14,"user_note":"Bitte schnell liefern – Kaninchenstall wird dringend benötigt!","customer_reference":"PO-2025-4711","discount":{"title":"Sonderrabatt","calculation_type":0,"price_type":1,"value":10},"payment":{"name":"Vorkasse","calculation_type":1,"price_type":1,"value":0,"cashback_active":0,"cashback":0,"cashback_days":0},"shipping":{"name":"DHL Paket","tracking":"1234567890","calculation_type":1,"price_type":1,"value":5.99},"articles":[{"article_title":"Kaninchenstall XL","article_purchase_price":75,"article_price":129.99,"article_quantity":1,"article_country":"de","article_tax_rate":19,"article_subtitle":"Wetterfest mit Auslauf","article_position":1,"article_unit":"unit_ppu","article_ean":"4012345678901","article_nr":"KAN-XL-2025"}]}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.create" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Rückgabewerte

Felder Beschreibung
order_ident Kennung des angelegten Auftrags

order.read

Liefert die Daten eines Auftrags.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.read" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Rückgabewerte

Felder Beschreibung Typ
order_ident Kennung des Auftrags String
customer_ident Kennung des Kunden, der zum Auftrag gehört String
external_ident Wurde der Auftrag z. B. von eBay importiert, ist das die eindeutige Kennung aus der Quelle String
external_account_name Wurde der Auftrag z. B. von eBay importiert, ist das der Name des eBay-Kontos String
is_template Gibt an, ob der Auftrag die Vorlage eines wiederkehrenden Auftrags ist 0 Nein 1 Ja
is_quotation Gibt an, ob der Auftrag ein Angebot ist 0 Nein 1 Ja
is_canceled Gibt an, ob der Auftrag als storniert markiert ist 0 Nein 1 Ja
repeated Gibt an, ob dieser Auftrag aus einem wiederkehrenden Auftrag erzeugt wurde 0 Nein 1 Ja
document_show_article_description Gibt an, ob die Artikelbeschreibung auf der Rechnung erscheint 0 Nein 1 Ja
date_created Datum und Uhrzeit, wann der Auftrag angelegt wurde Datum als String
date_created_user Datum, wann der Auftrag angelegt wurde, im Format des Kontos, z. B. "19.10.2018" Datum als String
date_updated Datum und Uhrzeit der letzten Änderung des Auftrags Datum als String
date_updated_user Datum der letzten Änderung des Auftrags im Format des Kontos, z. B. "19.10.2018" Datum als String
date_paid Datum und Uhrzeit, wann der Auftrag vollständig bezahlt wurde Datum als String
date_paid_user Datum, wann der Auftrag vollständig bezahlt wurde, im Format des Kontos, z. B. "19.10.2018" Datum als String
date_invoice Datum und Uhrzeit der Rechnung Datum als String
date_invoice_user Rechnungsdatum im Format des Kontos, z. B. "19.10.2018" Datum als String
order_type Quelle des Auftrags, z. B. "amazon" String
external_username Wurde der Auftrag z. B. von eBay importiert, ist das der Benutzername des Kunden String
order_nr Die Auftragsnummer String
customer_nr Die Kundennummer String
invoice_nr Die Rechnungsnummer String
delivery_note_nr Die Lieferscheinnummer String
quotation_nr Ist oder war der Auftrag ein Angebot, steht hier die Angebotsnummer String
is_business_client Gibt an, ob der Kunde ein Geschäftskunde ist 0 Nein 1 Ja
bill_title Rechnungsadresse: Anrede des Kunden -1 Firma 0 Herr 1 Frau 2 Divers 3 Keine Anrede 4 Familie 5 Eheleute 6 Doktor 7 Professor -1
bill_firstname Rechnungsadresse: Vorname String
bill_lastname Rechnungsadresse: Nachname String
bill_company Rechnungsadresse: Firmenname String
bill_vat_nr Rechnungsadresse: Umsatzsteuer-Identifikationsnummer String
bill_street Rechnungsadresse: Straße String
bill_street2 Rechnungsadresse: Adresszusatz String
bill_zipcode Rechnungsadresse: Postleitzahl String
bill_city Rechnungsadresse: Ort String
bill_country Rechnungsadresse: Ländercode (ISO 3166 ALPHA-2) in Kleinbuchstaben, z. B. de; Großschreibung wird klein gespeichert String
bill_email Rechnungsadresse: E-Mail-Adresse String
bill_phone Rechnungsadresse: Telefonnummer String
bill_phone_mobile Rechnungsadresse: Mobilnummer String
divergent_delivery_address Gibt an, ob die Lieferadresse von der Rechnungsadresse abweicht 0 Nein 1 Ja
delivery_title Lieferadresse: Anrede des Kunden -1 Firma 0 Herr 1 Frau 2 Divers 3 Keine Anrede 4 Familie 5 Eheleute 6 Doktor 7 Professor
delivery_firstname Lieferadresse: Vorname String
delivery_lastname Lieferadresse: Nachname String
delivery_company Lieferadresse: Firmenname String
delivery_street Lieferadresse: Straße String
delivery_street2 Lieferadresse: Adresszusatz String
delivery_zipcode Lieferadresse: Postleitzahl String
delivery_city Lieferadresse: Ort String
delivery_country Lieferadresse: Ländercode (ISO 3166 ALPHA-2) in Kleinbuchstaben, z. B. de; Großschreibung wird klein gespeichert String
delivery_phone Lieferadresse: Telefonnummer String
delivery_phone_mobile Lieferadresse: Mobilnummer String
account_bank Name der Bank String
account_bic BIC der Bank String
account_iban IBAN des Kundenkontos String
account_paypal PayPal-Konto des Kunden String
small_entrepreneur Gibt an, ob die Kleinunternehmerregelung für den Auftrag gilt 0 Nein 1 Ja
reverse_charge Gibt an, ob für den Auftrag die Steuerschuldnerschaft des Leistungsempfängers gilt (Reverse Charge) 0 Nein 1 Ja
intracommunity Gibt an, ob der Auftrag eine steuerfreie innergemeinschaftliche Lieferung ist 0 Nein 1 Ja
differential_taxation Gibt an, ob für den Auftrag die Differenzbesteuerung nach § 25a UStG gilt 0 Nein 1 Ja
term_of_credit Zahlungsziel in Tagen Integer
sum_net Nettosumme des Auftrags Float
sum_gross Bruttosumme des Auftrags Float
sum_reminder1 Gebühr der ersten Mahnstufe Float
sum_reminder2 Gebühr der zweiten Mahnstufe Float
sum_reminder3 Gebühr der letzten Mahnstufe Float
user_note Interne Notiz zu diesem Auftrag String
public_authority_id Leitweg-ID einer Behörde, leer, wenn keine gesetzt ist String
customer_reference Referenz des Kunden, leer, wenn keine gesetzt ist. HTML-Sonderzeichen kommen kodiert zurück, z. B. & String
credit_note Array, wenn der Auftrag eine Korrekturrechnung hat, sonst false Array
credit_note_ident Kennung der Korrekturrechnung String
sum_net Nettosumme der Korrekturrechnung Float
sum_gross Bruttosumme der Korrekturrechnung Float
date_delivered Zeitraum und Art der Leistung Array
type Gibt an, wie das Lieferdatum des Auftrags bestimmt wird 0 Konkretes Datum 1 Wie das Rechnungsdatum -1 Unbekannt 2 Zeitraum von bis 3 Wie das Lieferscheindatum
start Das konkrete Datum oder der Beginn des Zeitraums Datum als String
end Das Ende des Zeitraums Datum als String
discount Felder des Rabatts des Auftrags Array
title Bezeichnung des Rabatts, erscheint auf den Dokumenten String
calculation_type Gibt an, ob und wie der Rabatt angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag
price_type Bei calculation_type 1: ob der Rabatt auf den Netto- oder den Bruttopreis wirkt 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis
value Wert des Rabatts als Prozentsatz oder Betrag, je nach calculation_type Float
payment Felder der Zahlungsart des Auftrags Array
name Name der Zahlungsart String
calculation_type Gibt an, ob und wie die Zahlungsart angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag 2 Kostenlos, Zahlungsart wird genannt, aber nicht berechnet
price_type Bei calculation_type 1: ob der Aufschlag der Zahlungsart auf den Netto- oder den Bruttopreis wirkt 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis
value Aufschlag der Zahlungsart als Prozentsatz oder Betrag, je nach calculation_type Float
cashback_active Gibt an, ob Skonto aktiv ist 0 Nein 1 Ja
cashback Skonto für den Auftrag in Prozent Integer
cashback_days Anzahl der Tage auf der Rechnung, in denen das Skonto gilt Integer
shipping Felder der Versandart des Auftrags Array
carrier Name des Versanddienstleisters String
tracking Sendungsnummer der Lieferung String
calculation_type Gibt an, ob und wie die Versandart angewendet wird -1 Keine 0 Wert ist ein Prozentsatz 1 Wert ist ein Betrag 2 Kostenlos, Versandart wird genannt, aber nicht berechnet
price_type Bei calculation_type 1: ob die Versandkosten auf den Netto- oder den Bruttopreis wirken 0 Wirkt auf den Nettopreis 1 Wirkt auf den Bruttopreis
value Versandkosten als Prozentsatz oder Betrag, je nach calculation_type Float
order_articles Array der Artikel und Positionen dieses Auftrags Array
[ORDER_ARTICLE_IDENT] Array-Element mit den Feldern eines Artikels. Der Schlüssel des Elements ist die Kennung des Artikels Array Key
order_article_ident Kennung dieses Artikels bzw. dieser Position String
article_ident Kennung des ursprünglichen Artikels in der Artikeldatenbank als Querverweis. NULL, wenn dieser Artikel gelöscht wurde oder die Position anders entstand, z. B. als freie Position String
article_price Nettopreis des Artikels Float
article_purchase_price Einkaufspreis des Artikels Float
article_tax_rate Steuersatz des Artikels Float
article_quantity Menge dieser Position Float
article_position Position dieses Artikels in den Tabellen der Dokumente Integer
article_title Titel dieses Artikels String
article_subtitle Untertitel dieses Artikels String
article_unit Kennung der Einheit des Artikels "unit_ppu" Preis je Stück "unit_hour" Einheit sind Stunden "unit_lump" Pauschal "unit_kg" Einheit sind Kilogramm
article_sku SKU des Artikels String
article_ean EAN des Artikels String
article_nr Artikelnummer String
files Array der Dateien dieses Auftrags Array
[ORDER_FILE_IDENT] Array-Element mit den Feldern einer Datei. Der Schlüssel des Elements ist die Kennung der Datei Array Key
order_file_ident Kennung dieser Datei String
file_source Quelle der Datei, z. B. "ebay" String
href Direkter Link zur Datei, lädt sie ohne Login String
controller Gibt an, welcher Controller für Dateioperationen zuständig ist, z. B. "order" String
reference_nr Nummer des Besitzers dieser Datei, z. B. die order_nr String
parent_ident Kennung des Besitzers dieser Datei, z. B. die Kennung dieses Auftrags String
file_name Interner Dateiname mit Endung String
file_user_name Ursprünglicher Dateiname mit Endung String
file_extension Endung der Datei, z. B. "pdf" String
file_type Typ dieser Datei "invoice" "contract_note" "proforma_invoice" "quotation" "delivery_note" "reversal_invoice" "credit_note" "reminder_1" "reminder_2" "reminder_3" "user" Vom Nutzer hochgeladene Datei
date_updated Datum und Uhrzeit der letzten Änderung der Datei Datum als String
date_updated_user Datum der letzten Änderung der Datei im Format des Kontos, z. B. "19.10.2018" Datum als String
date_sent Datum und Uhrzeit, wann die Datei als gesendet markiert wurde Datum als String
date_sent_user Datum, wann die Datei als gesendet markiert wurde, im Format des Kontos, z. B. "19.10.2018" Datum als String

Beispielantworten

	// SUCCESS 
{
	"response": true,
	"data":
	{
		"order_ident": "154xy0817679B1kJ",
		"customer_ident": "3081k634q51Cw12v",
		"external_ident": "",
		"external_account_name": "",
		"date_created": "2018-10-29 12:54:00",
		"date_updated": "2018-10-29 12:54:51",
		"date_paid": "2018-10-29 12:54:00",
		"date_invoice": null,
		"order_type": "billware",
		"external_username": "",
		"customer_nr": "K-0025",
		"order_nr": "B-0062",
		"invoice_nr": "",
		"delivery_note_nr": "",
		"quotation_nr": "",
		"is_business_client": "1",
		"bill_title": "-1",
		"bill_firstname": "Max",
		"bill_lastname": "Mustermann",
		"bill_company": "Musterfirma Ltd.",
		"bill_vat_nr": "GB999999999",
		"bill_street": "23 Queen Victoria Street",
		"bill_street2": "",
		"bill_zipcode": "EC4N 4TR",
		"bill_city": "London",
		"bill_country": "gb",
		"bill_email": "max.mustermann@www.de",
		"bill_phone": "+4402043321",
		"bill_phone_mobile": "",
		"divergent_delivery_address": "0",
		"delivery_title": "-1",
		"delivery_firstname": "",
		"delivery_lastname": "",
		"delivery_company": "",
		"delivery_street": "",
		"delivery_street2": "",
		"delivery_zipcode": "",
		"delivery_city": "",
		"delivery_country": "",
		"delivery_phone": "",
		"delivery_phone_mobile": "",
		"account_bank": "",
		"account_iban": "",
		"account_bic": "",
		"account_paypal": "max.mustermann@www.de",
		"reverse_charge": "0",
		"intracommunity": "1",
		"differential_taxation": "0",
		"small_entrepreneur": "0",
		"sum_net": "428.4700",
		"sum_gross": "428.4700",
		"sum_reminder1": "0.0000",
		"sum_reminder2": "0.0000",
		"sum_reminder3": "0.0000",
		"user_note": "",
		"public_authority_id": "",
		"customer_reference": "PO-2018-4711",
		"repeated": "0",
		"term_of_credit": "30",
		"is_template": "0",
		"is_quotation": "0",
		"is_canceled": "0",
		"credit_note": false,
		"date_paid_user": "29.10.2018",
		"date_created_user": "29.10.2018",
		"date_updated_user": "29.10.2018",
		"date_invoice_user": null,
		"shipping":
		{
			"calculation_type": "1",
			"price_type": "1",
			"value": "6.99",
			"carrier": "DHL",
			"tracking": "TR1234"
		},
		"discount":
		{
			"calculation_type": "-1",
			"price_type": "1",
			"value": "0.00",
			"title": "Rabatt"
		},
		"payment":
		{
			"calculation_type": "0",
			"price_type": "1",
			"value": "4.00",
			"name": "payment_paypal",
			"cashback": "0",
			"cashback_days": "10",
			"cashback_active": 0
		},
		"date_delivered":
		{
			"type": "3",
			"start": null,
			"end": null,
			"start_user": null,
			"end_user": null
		},
		"order_articles":
		{
			"6l1nNn632707s64E":
			{
				"order_article_ident": "6l1nNn632707s64E",
				"article_ident": "30L81b6352V72868",
				"article_position": "1",
				"article_title": "M8 Screws",
				"article_subtitle": "",
				"article_nr": "ART-0003",
				"article_price": "0.81000000",
				"article_purchase_price": "0.0000",
				"article_quantity": "500.00",
				"article_ean": "",
				"article_sku": "",
				"article_unit": "unit_ppu",
				"article_tax_rate": "19.0000"
			}
		},
		"files": [],
		"booked_payments":
		{
			"open_amount": 0,
			"payments": [
			{
				"date_paid": "2018-10-29 12:54:00",
				"amount": "428.4700",
				"payment_name": "payment_paypal",
				"order_payment_ident": "46V22A4qB75307i3",
				"date_paid_user": "29.10.2018"
			}]
		}
	},
	"method": "order.read",
	"message": "read order with ident: 154xy0817679B1kJ"
}

order.list

Liefert mehrere Aufträge als Liste.

Daten

Felder Beschreibung Erlaubte Werte
start_date Pflicht Beginn des Zeitraums, aus dem die Aufträge gelistet werden.
Format: Y-m-d H:i:s (z. B. "2024-10-01 00:00:00")
String
end_date Pflicht Ende des Zeitraums, aus dem die Aufträge gelistet werden.
Format: Y-m-d H:i:s (z. B. "2024-10-31 23:59:59")
String
date_type Pflicht Datum, nach dem gefiltert wird.
Erlaubte Werte: date_created, date_updated, date_paid, date_invoice
String
page Seitennummer für die seitenweise Ausgabe. Standard ist 1. Integer

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"start_date":"2025-01-01 00:00:00","end_date":"2025-08-01 00:00:00","date_type":"date_updated","page":1}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.list" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Rückgabewerte

Das Array orders enthält Einträge mit derselben Struktur wie die Antwort von order.read.

Seitenweise Ausgabe

Die Antwort enthält Angaben zur seitenweisen Ausgabe:

Mit dem Parameter page blätterst du durch die Ergebnisseiten. Ohne Angabe kommt Seite 1.

Beispielantwort


// SUCCESS
{
    "response": true,
    "data": {
        "page": 1,
        "limit": 10,
        "total": 38,
        "total_pages": 4,
        "orders": [
            {
                "order_ident": "abcdef123456",
                "order_number": "2024-10001",
                "date_created": "2024-10-01 12:34:56",
                "amount": 123.45,
                ...
            },
            ...
        ],
        "method": "order.list",
    },
    "message": "Order list retrieved successfully"
}

// ERROR
{
    "response":false,
    "data": null,
    "method":"order.list",
    "message":"Required fields start_date, end_date and/or date_type not set"
}

order.update

Ändert ein oder mehrere Felder eines Auftrags.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String
order_articles Array mit einem oder mehreren Artikeln des Auftrags. Weglassen, wenn die Artikel unverändert bleiben sollen. Array
delete Steht der Wert auf 1, wird der Artikel aus dem Auftrag gelöscht 0 Nein 1 Ja
order_article_ident Ist der Wert gesetzt und der Artikel existiert, wird er geändert. Sonst wird ein neuer Artikel für diesen Auftrag angelegt String
[Weitere Felder] Siehe order.create
[Weitere Felder] Siehe order.create, beachte die schreibgeschützten Felder unten

Schreibgeschützt

Felder Beschreibung
order_ident Interne Kennung
customer_ident Interne Kennung, ändere stattdessen die bill_*-Felder
external_ident Interne Kennung
external_account_name Interne Kennung
address_ident Interne Kennung, ändere stattdessen die delivery_*-Felder
is_template Interne Variable
is_quotation Interne Variable
invoice_nr Nutze die Funktion order.createInvoiceNr
repeated Interne Variable
sum_net Wird automatisch berechnet
sum_gross Wird automatisch berechnet
date_created_user Wird automatisch berechnet, ändere stattdessen date_created (UTC)
date_paid_user Wird automatisch berechnet, ändere stattdessen date_paid (UTC)
date_invoice_user Wird automatisch berechnet, ändere stattdessen date_invoice (UTC)
date_updated Wird automatisch berechnet
date_updated_user Wird automatisch berechnet
credit_note Wird automatisch aus den Dokumenten des Auftrags berechnet
files Wird automatisch aus den Dokumenten des Auftrags berechnet
booked_payments Nutze stattdessen die Funktion order.createPayment

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","user_note":"An example Text"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.update" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob die Aktion erfolgreich war true false
data Array mit den Antwortdaten Array
order_ident Die Kennung des geänderten Auftrags String
[fields] Alle geänderten und bereinigten Felder
method order.update String
message Zusätzliche Information zur Anfrage String

Beispielantwort


// SUCCESS after updating the VAT number of the customer
{
	"response": true,
	"data":
	{
		"order_ident": "154xy0817679B1kJ",
		"bill_vat_nr": "GB123456789"
	},
	"method": "order.update",
	"message": "order updated"
}

order.delete

Löscht einen bestehenden Auftrag.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.delete" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Beispielantworten

// SUCCESS
{
	"response":true,
	"data":null,
	"method":"order.delete",
	"message":"order deleted"
}

// ERROR 
{
	"response":false,
	"data": null,
	"method":"order.delete",
	"message":"order not found"
}

order.exists

Prüft, ob ein Auftrag existiert.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.exists" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Beispielantworten

	// SUCCESS 
{
	"response":true,
	"data": {
		"order_ident" : "30Wp80787u99z2qv"
	},
	"method":"order.exists",
	"message":"order does exist"
}

// ERROR 
{
	"response":false,
	"data": null,
	"method":"order.exists",
	"message":"order does not exist"
}
	

order.createPayment

Bucht eine Zahlung zu einem bestehenden Auftrag. Der Auftrag muss bereits existieren.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags, dem die Zahlung hinzugefügt wird String
amount Betrag der Zahlung (positiv für Zahlungen, negativ für Erstattungen). Fehlt er, wird der offene Betrag des Auftrags genommen. Float
fee Transaktions- oder Bearbeitungsgebühr der Zahlung (optional, Standard: 0.0) Float
payment_name / name Name der Zahlungsart (billware-Standard: payment_cash, payment_directdebit, payment_bankwire, payment_invoice, payment_paypal) String
date_paid Datum der Zahlung (Pflicht, wenn der Auftrag noch keines hat) String (YYYY-MM-DD HH:MM:SS)
external_ident Externe Kennung der Zahlung (z. B. PayPal-Transaktions-ID) String
set_paid Auf 1 setzen, wenn der Auftrag nach dieser Zahlung als bezahlt gelten soll Integer (0 or 1)

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","amount":144.61,"fee":0,"payment_name":"payment_paypal","date_paid":"2025-07-16 12:30:00","external_ident":"TRANS123456","set_paid":1}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.createPayment" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob die Aktion erfolgreich war Boolean
data Zahlungsobjekt mit allen gespeicherten Werten Object
message Statusmeldung String

Beispielanfrage


{
  "order_ident": "aswm5o5i2v5hwlbp",
  "amount": 149.99,
  "fee": 0.35,
  "payment_name": "payment_paypal",
  "date_paid": "2025-07-16 12:30:00",
  "external_ident": "TRANS123456",
  "set_paid": 1
}

Beispielantwort


{
    "response": true,
    "data": {
        "order_ident": "aswm5o5i2v5hwlbp",
        "order_payment_ident": "97hb8t6cw1yf57y6",
        "date_created": "2025-07-16 11:50:53",
        "date_paid": "2025-07-16 10:30:00",
        "amount": "144.6100",
        "user_note": "",
        "payment_name": "payment_paypal",
        "type": "payment",
        "external_ident": "TRANS123456",
        "fee": "0.0000",
        "amount_net": "121.5210",
        "primary_ident": "97hb8t6cw1yf57y6",
        "primary_key": "order_payment_ident",
        "transaction_id": "TRANS123456",
        "date_paid_user": "16.07.2025 12:30",
        "payment_name_user": "PayPal",
        "amount_user": "144,61 €",
        "fee_user": "0,00 €"
    },
    "message": "Order payment created"
}

order.createInvoiceNr

Vergibt eine Rechnungsnummer für einen bestehenden Auftrag. Gibst du eine Nummer an, wird sie übernommen. Sonst wird nach deinen Einstellungen automatisch eine Rechnungsnummer erzeugt.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Die interne Kennung des Auftrags String
invoice_nr (Optional) Eigene Rechnungsnummer. Fehlt sie, wird eine Nummer automatisch vergeben String

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.createInvoiceNr" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob die Aktion erfolgreich war Boolean
data Objekt mit der neuen Rechnungsnummer Object
invoice_nr Die zugewiesene oder neu vergebene Rechnungsnummer String
message Lesbare Ergebnismeldung String

Beispielanfrage


{
  "order_ident": "154xy0817679B1kJ"
}

Beispielantwort


{
  "response": true,
  "data": {
    "invoice_nr": "RE-2025-4711"
  },
  "message": "Order number created"
}

order.createDocument

Erzeugt ein Dokument zu einem Auftrag, so wie die Auftragsseite: das PDF mit Layout und Freitexten deines Kontos, die Nummer des Dokuments und bei eingeschalteter E-Rechnung die XRechnung-XML. Das Dokument entsteht einmal: Ein zweiter Aufruf mit demselben type liefert die bestehende Datei und druckt nichts neu. Nur der anteilige Lieferschein ist bei jedem Aufruf ein neues Dokument, weil jeder Aufruf eine neue Teillieferung ist.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String
type Pflicht Das Dokument, das erzeugt wird. Die Auftragsseite bietet dieselben Dokumente; die Rechnung zieht Rechnungsnummer und -datum, wenn der Auftrag noch keine hat, der Lieferschein seine Lieferscheinnummer invoice contract_note proforma_invoice delivery_note partial_delivery_note quotation reversal_invoice credit_note reminder_1 reminder_2 reminder_3
document_layout_ident Das Layout für den Druck, eines deiner Layouts für diesen Dokumenttyp aus document_layout.list. Ohne Angabe gilt das Standardlayout in der Sprache des Auftrags. Der anteilige Lieferschein nutzt die Layouts des Lieferscheins String
free_text_1 Der erste Freitext auf dem Dokument, mit den Platzhaltern, die der Texteditor des Auftrags anbietet. Ersetzt den für diesen Dokumenttyp gespeicherten Text String
free_text_2 Der zweite Freitext, wie oben String
date_credit_note Nur Korrekturrechnung: das Datum der Korrekturrechnung. Ohne Angabe das aktuelle Datum Datum als String Y-m-d H:i:s
articles Nur Korrekturrechnung und anteiliger Lieferschein: die Positionen des Dokuments. Eine Korrekturrechnung ohne Positionen nimmt den ganzen Auftrag zurück: jede Position mit negativer Menge, Versand, Rabatt und Zahlungsaufschlag mit umgekehrtem Vorzeichen. Ein anteiliger Lieferschein ohne Positionen führt alle Positionen des Auftrags auf Array
article_title Pflicht Bezeichnung der Position. Beim anteiligen Lieferschein liefert die Auftragsposition mit dieser Bezeichnung Artikelnummer und Einheit String
article_quantity Pflicht Die Menge. Bei der Korrekturrechnung die Menge, wie sie auf der Korrekturrechnung steht, also negativ für ein zurückgenommenes Stück Number
article_price Korrekturrechnung: Pflicht, der Nettopreis je Einheit Number
article_tax_rate Korrekturrechnung: Pflicht, der Steuersatz der Position in Prozent Number
article_unit Einheit der Position, wie in article.create String
article_nr Artikelnummer auf dem Dokument String
order_article_ident Anteiliger Lieferschein: die Auftragsposition statt ihrer Bezeichnung, aus order_articles von order.read String
shipping Nur Korrekturrechnung mit Positionen: zurückgenommener Versand mit calculation_type, price_type und value wie in order.create, der Betrag mit dem Vorzeichen, das er auf der Korrekturrechnung hat, dazu service, carrier und tracking. Ohne Angabe kein Versand auf der Korrekturrechnung Array
discount Nur Korrekturrechnung mit Positionen: zurückgenommener Rabatt mit calculation_type, price_type, value und title wie in order.create. Ohne Angabe kein Rabatt auf der Korrekturrechnung Array
payment Nur Korrekturrechnung mit Positionen: zurückgenommener Zahlungsaufschlag mit calculation_type, price_type, value und name wie in order.create. Ohne Angabe kein Zahlungsaufschlag auf der Korrekturrechnung Array
address_ident Nur anteiliger Lieferschein: die Adresse auf dem Dokument. Ohne Angabe die Lieferadresse des Auftrags, wenn er eine hat, sonst die Rechnungsadresse bill_address delivery_address oder die address_ident einer Lieferadresse des Kunden
date_delivery_note Nur anteiliger Lieferschein: das Datum auf dem Dokument. Ohne Angabe das aktuelle Datum Datum als String Y-m-d H:i:s

Regeln

Der Aufruf wird mit response: false und einer Meldung abgelehnt, wenn auch die Auftragsseite das Dokument nicht anbieten würde:

Codebeispiele

order.createDocument (invoice)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"invoice","free_text_1":"Vielen Dank für Ihren Einkauf."}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.createDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

order.createDocument (credit note for one position)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"credit_note","date_credit_note":"2025-07-20 10:00:00","articles":[{"article_title":"Kaninchenstall XL","article_quantity":-1,"article_price":129.99,"article_tax_rate":19,"article_unit":"unit_ppu","article_nr":"KAN-XL-2025"}]}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.createDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

order.createDocument (partial delivery note)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"partial_delivery_note","date_delivery_note":"2025-07-18 09:00:00","articles":[{"article_title":"Kaninchenstall XL","article_quantity":1}]}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.createDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob das Dokument jetzt existiert Boolean
data Das Dokument Object
order_ident Kennung des Auftrags String
type Der Dokumenttyp der Anfrage String
document_nr Die Nummer auf dem Dokument: die Rechnungsnummer, die Rechnungsnummer mit -S oder -K, die Lieferscheinnummer, die Lieferscheinnummer mit laufender Nummer beim anteiligen Lieferschein, die Angebotsnummer, sonst die Auftragsnummer String
created Ob dieser Aufruf das Dokument erzeugt hat 1 Jetzt erzeugt 0 Gab es schon
file Das PDF, dasselbe Objekt wie ein Eintrag in files von order.read: href ist ein Link, der die Datei ohne Login lädt, file_user_name der Dateiname, date_sent der Versandzeitpunkt Object
e_invoice Ob und wie das Dokument eine E-Rechnung ist, nach den E-Rechnungs-Einstellungen deines Kontos: das Format, ob das PDF selbst die XML trägt (ZUGFeRD) und die separate XRechnung-XML Object
format zugferd: das PDF trägt die XML; xrechnung: eine separate XML-Datei; both: beides; null, wenn das Konto für diesen Dokumenttyp keine E-Rechnung erzeugt zugferd xrechnung both NULL
in_pdf Ob das PDF die eingebettete XML trägt, geprüft in der Datei selbst 1 Ja 0 Nein
xml Die separate XRechnung-XML als Objekt wie file, sonst null Object NULL
message Lesbare Ergebnismeldung String

Beispielanfrage


{
  "order_ident": "154xy0817679B1kJ",
  "type": "invoice",
  "free_text_1": "Vielen Dank für Ihren Einkauf."
}

Beispielantwort


{
  "response": true,
  "data": {
    "order_ident": "154xy0817679B1kJ",
    "type": "invoice",
    "document_nr": "RE-2025-4711",
    "created": 1,
    "file": {
      "href": "https://www.billware.de/file?t=...",
      "file_ident": "8kd02mqp4x1zr6tn",
      "controller": "order",
      "parent_ident": "154xy0817679B1kJ",
      "file_name": "Invoice_154xy0817679B1kJ.pdf",
      "file_user_name": "Rechnung_RE-2025-4711.pdf",
      "file_type": "invoice",
      "file_source": "billware",
      "file_extension": "pdf",
      "reference_nr": "AU-2025-4711",
      "date_updated": "2025-07-16 10:02:11",
      "date_updated_user": "16.07.2025 12:02:11",
      "date_sent": null,
      "date_sent_user": null
    },
    "e_invoice": {
      "format": "zugferd",
      "in_pdf": 1,
      "xml": null
    }
  },
  "message": "document created"
}

order.sendDocument

Sendet ein Dokument eines Auftrags per E-Mail an die Rechnungs-Mailadresse des Auftrags, mit der Mailvorlage deines Kontos für diesen Dokumenttyp, dem PDF und, wenn dein Konto sie anhängt, der XRechnung-XML. Die Mail geht wie aus der Auftragsseite raus: von billware mit deiner Adresse als Antwortadresse oder über deinen eigenen SMTP-Server, wenn du einen eingerichtet hast. Existiert das Dokument noch nicht, wird es zuerst erzeugt; dabei gelten die Felder von order.createDocument. Ein Dokument wird einmal gesendet: Ein zweiter Aufruf wird abgelehnt und nennt den Versandzeitpunkt.

Daten

Felder Beschreibung Erlaubte Werte
order_ident Pflicht Kennung des Auftrags String
type Pflicht Das Dokument, das gesendet wird, siehe order.createDocument. Von mehreren anteiligen Lieferscheinen geht der neueste String

Muss das Dokument erst erzeugt werden, gelten die optionalen Felder von order.createDocument: document_layout_ident, free_text_1, free_text_2, die Positionen und die übrigen.

Regeln

Codebeispiele

order.sendDocument (invoice)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"invoice"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.sendDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

order.sendDocument (reversal invoice)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"reversal_invoice"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.sendDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

order.sendDocument (first reminder)

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"order_ident":"aswm5o5i2v5hwlbp","type":"reminder_1"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: order.sendDocument" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob die Mail gesendet wurde Boolean
data Das Dokument wie in order.createDocument, file trägt jetzt date_sent Object
sent_to Die Rechnungs-Mailadresse, an die die Mail ging String
created Ob das Dokument dabei erst erzeugt wurde 1 Jetzt erzeugt 0 Gab es schon
message Lesbare Ergebnismeldung String

Beispielanfrage


{
  "order_ident": "154xy0817679B1kJ",
  "type": "invoice"
}

Beispielantwort


{
  "response": true,
  "data": {
    "order_ident": "154xy0817679B1kJ",
    "type": "invoice",
    "document_nr": "RE-2025-4711",
    "created": 0,
    "file": {
      "href": "https://www.billware.de/file?t=...",
      "file_ident": "8kd02mqp4x1zr6tn",
      "file_user_name": "Rechnung_RE-2025-4711.pdf",
      "file_type": "invoice",
      "file_extension": "pdf",
      "date_sent": "2025-07-16 10:05:40",
      "date_sent_user": "16.07.2025 12:05:40"
    },
    "e_invoice": {
      "format": "zugferd",
      "in_pdf": 1,
      "xml": null
    },
    "sent_to": "max.mustermann@example.com"
  },
  "message": "document sent"
}

document_layout.list

Listet die Dokumentlayouts deines Kontos, so wie die Layoutseite sie zeigt: je Dokumenttyp die Layouts in Deutsch und Englisch mit dem Standard jeder Sprache. Die document_layout_ident eines Layouts gehört in order.createDocument und order.sendDocument.

Daten

Felder Beschreibung Erlaubte Werte
type Nur die Layouts dieses Dokumenttyps, einer der Typen von order.createDocument. Der anteilige Lieferschein nutzt die Layouts des Lieferscheins. Ohne Angabe alle Layouts String

Codebeispiele

# Get your API credentials from your billware customer area
API_APPID="your-app-id"
API_SECRET="your-api-secret"

PAYLOAD='{"type":"invoice"}'

# The HMAC is calculated over the exact request body that is sent
HMAC=$(printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" -binary | base64)

curl -X POST "https://www.billware.de/api/v1" \
  -H "X-Bw-Hmac: $API_APPID:$HMAC" \
  -H "X-Bw-Method: document_layout.list" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

Antwortdaten

Felder Beschreibung Typ
response Gibt an, ob die Aktion erfolgreich war Boolean
data Zurückgegebenes Objekt Object
document_layouts Die Layouts, ein Eintrag je Layout Array
document_layout_ident Kennung des Layouts für order.createDocument String
layout_name Der Name aus dem Layouteditor String
type Der Dokumenttyp, für den das Layout gilt String
lang Die Sprache des Layouts de en
is_default Ob dies das Standardlayout seines Typs und seiner Sprache ist 1 Ja 0 Nein
message Lesbare Ergebnismeldung String

Beispielanfrage


{
  "type": "invoice"
}

Beispielantwort


{
  "response": true,
  "data": {
    "document_layouts": [
      {
        "document_layout_ident": "3f7qkz9vd1c2wbp8",
        "layout_name": "Standard",
        "type": "invoice",
        "lang": "de",
        "is_default": 1
      },
      {
        "document_layout_ident": "m1x8c5rk2zq7v4bn",
        "layout_name": "Default",
        "type": "invoice",
        "lang": "en",
        "is_default": 0
      }
    ]
  },
  "message": "document layouts retrieved"
}