Create order for identity by identityReference
This will create an order assigned to the given identity.
The netbased flag is used to determine if the order should be calculated with net prices or gross prices. If netbased is set to true, the prices will be calculated with net prices. If netbased is set to false, the prices will be calculated with gross prices.
The paymentkind is used to determine the payment method. The following payment methods are available:
CT- Credit TransferDD- Direct DebitCC- Credit CardPP- PayPalIN- InvoiceOT- Other
The items array contains the items of the order. Each item must have a label, quantity, unit, unitprice, and detail field. The detail field is an object that can contain additional information about the item, if tax jurisdiction is used this should contain the items taxprofile.
The addresses array contains the addresses of the order. Each address must have a kind, firstname, lastname, street, housenumber, zipcode, city, and country field. The extra field is optional and can be used to provide additional information about the address.
Basic authentication is a simple authentication scheme built into the HTTP protocol. To use it, send your HTTP requests with an Authorization header that contains the word Basic followed by a space and a base64-encoded string username:password.Example: Authorization: Basic ZGVtbzpwQDU1dzByZA==
In: header
Path Parameters
Your identityReference
Header Parameters
Set this optional header to the same value for idempotent requests. If the request is repeated with the same idempotency key, the server will return the same response as for the first request. Our servers retain the idempotency key and their result for 24 hours after the initial request, if not defined otherwise in your Abillify contract.
Optional, addresses of the invoice, if not provided they will be copied from the identity in the moment of creation.
Date after which the unattached amount of the order is accounted as overpayment
Main currency of the order
"Inherited from identity if omitted"Merchant information related to the entity, you can store any JSON here. Size limits according to your contract.
If true the calculations are rounded to 2 decimal places, this is the recommended option for B2B business.
If false (null) the calculations are rounded to 4 decimal places to achieve better gross amounts for end customers.
Date of the order
Kind of payment intended to be used for this order, can be different for subsequent invoices.
PP: Paypal
CC: Credit Card
DD: Direct Debit
CT: Cash Transfer
CD: Cash on Delivery
"PP" | "CC" | "DD" | "CT" | "CD"Your orderReference (A unique identifier in your system), if you don't send this Abillify will generate one.
Response Body
curl -X POST "https://staging1.abillify.dev/api/identities/string/orders" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"addresses": [
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "billing",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
},
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "shipping",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
}
],
"currency": "EUR",
"items": [
{
"constcenter": "1234",
"detail": {
"taxprofile": "default"
},
"label": "Product 1",
"quantity": 1,
"unit": "pcs",
"unitprice": "100.00"
}
],
"netbased": true,
"orderdate": "2020-01-01T00:00:00.000Z",
"ordernumber": "XYZ-12345",
"paymentkind": "CT",
"reference": "1234567890"
}'const body = JSON.stringify({
"addresses": [
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "billing",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
},
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "shipping",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
}
],
"currency": "EUR",
"items": [
{
"constcenter": "1234",
"detail": {
"taxprofile": "default"
},
"label": "Product 1",
"quantity": 1,
"unit": "pcs",
"unitprice": "100.00"
}
],
"netbased": true,
"orderdate": "2020-01-01T00:00:00.000Z",
"ordernumber": "XYZ-12345",
"paymentkind": "CT",
"reference": "1234567890"
})
fetch("https://staging1.abillify.dev/api/identities/string/orders", {
headers: {
"Idempotency-Key": "string"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://staging1.abillify.dev/api/identities/string/orders"
body := strings.NewReader(`{
"addresses": [
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "billing",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
},
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "shipping",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
}
],
"currency": "EUR",
"items": [
{
"constcenter": "1234",
"detail": {
"taxprofile": "default"
},
"label": "Product 1",
"quantity": 1,
"unit": "pcs",
"unitprice": "100.00"
}
],
"netbased": true,
"orderdate": "2020-01-01T00:00:00.000Z",
"ordernumber": "XYZ-12345",
"paymentkind": "CT",
"reference": "1234567890"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Idempotency-Key", "string")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://staging1.abillify.dev/api/identities/string/orders"
body = {
"addresses": [
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "billing",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
},
{
"city": "Berlin",
"company": "ACME Inc.",
"country": "DE",
"extra": "C/O Mr. Smith",
"firstname": "John",
"housenumber": "1",
"info": "string",
"kind": "shipping",
"lastname": "Doe",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115"
}
],
"currency": "EUR",
"items": [
{
"constcenter": "1234",
"detail": {
"taxprofile": "default"
},
"label": "Product 1",
"quantity": 1,
"unit": "pcs",
"unitprice": "100.00"
}
],
"netbased": true,
"orderdate": "2020-01-01T00:00:00.000Z",
"ordernumber": "XYZ-12345",
"paymentkind": "CT",
"reference": "1234567890"
}
response = requests.request("POST", url, json = body, headers = {
"Idempotency-Key": "string",
"Content-Type": "application/json"
})
print(response.text){
"addresses": [
{
"city": "Berlin",
"country": "DE",
"extra": "C/O Mr. Smith",
"housenumber": "1",
"info": "string",
"kind": "shipping",
"state": "Berlin",
"street": "Main Street",
"zipcode": "10115",
"company": "ACME Inc.",
"firstname": "John",
"lastname": "Doe"
}
],
"cancellationdate": "2020-01-01T00:00:00.000Z",
"created": "2020-01-01T00:00:00.000Z",
"currency": "EUR",
"detail": {
"locale": "de-DE",
"reverseCharge": true,
"vatId": "DE987654321"
},
"id": "5e4a7b2b-1b0b-4c7a-8f0a-5b9b6b7c8d9e",
"identity": "1",
"items": [
{
"account": "8400",
"costcenter": "8086",
"created": "2020-01-01T00:00:00.000Z",
"detail": {
"description": "This is a product description",
"taxprofile": "default",
"vatclause": "Umsatzsteuerbefreit gem. UstG. §4 Nr. 1a"
},
"groupingflag": "DE|1234",
"id": "5e4a7b2b-1b0b-4c7a-8f0a-5b9b6b7c8d9e",
"kind": "principal",
"label": "Couch Grey 3-Seater",
"modified": "2020-01-01T00:00:00.000Z",
"net": 991.6,
"pos": 1,
"product_number": "1234567890",
"quantity": 1,
"reference": "1234567890",
"servicebegin": "2020-01-01T00:00:00.000Z",
"serviceend": "2020-01-01T00:00:00.000Z",
"taxaccount": "1776",
"taxrate": 0.19,
"unit": "pieces",
"unitprice": 1190
}
],
"meta": {
"custom_key": "custom_value"
},
"modified": "2020-01-01T00:00:00.000Z",
"net": 1000,
"netbased": true,
"orderdate": "2020-01-01T00:00:00.000Z",
"ordernumber": "1234",
"paymentkind": "CT",
"reference": "123456789098765443",
"tax": 119,
"total": 1190
}{
"code": 400,
"details": [
{
"error": "Value for field 'debtor' is of wrong type, expected bigint.",
"fields": [
"debtor"
],
"hint": "Value must be a number or a string containing only a number."
}
],
"message": "InvalidValue, see error details",
"name": "ClientError",
"type": "ERR_INVALID_VALUE"
}{
"code": 400,
"details": [
{
"error": "Value for field 'debtor' is of wrong type, expected bigint.",
"fields": [
"debtor"
],
"hint": "Value must be a number or a string containing only a number."
}
],
"message": "InvalidValue, see error details",
"name": "ClientError",
"type": "ERR_INVALID_VALUE"
}Update invoice by invoiceReference PUT
Updating items: No partial updates of items are supported. If you provide items in the update call, the existing items will be completely replaced by the new items. If you do not provide any items, the existing items will remain unchanged.
Create invoice for order POST
The invoice will be created with the same currency and identity as the order. The invoice will be created with the same addresses as the order unless you provide different addresses with this call.