Versions Compared

Key

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

The Fakturia API is an open OpenAPI based interface using the REST standard.

...

Info

Endpoint for all API calls:

Timestamps are handled in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ssXXX in Java)

...

Header variable namevalue
api-key{your api key - see project settings in the backoffice}

Resources Overview

...

(tick) retrieve all customers

Filter parameters:

  • email
  • firstName
  • lastName
  • companyName

Filter example:

/Customers?email=info@customer.com

...

(tick) available
(warning) in development / planned
(minus) not available

Errors

The API returns standard HTTP status codes to indicate that something went wrong.

...

Example error result:

Code Block
{"errorKey":"INCORRECT_INPUT_DATA","errorMessage":"invalid item number: xd004"}

Enum Values

All possible values of our Enum types are described here.

...

DAY
WEEK
MONTH
YEAR

...

Resource Reference

POST /Customers

Create a new customer.

Example request:

Code Block
{
        "salutation": "MR",
        "firstName": "John",
        "lastName": "Doe",
        "companyName": "MegaCorp",
        "locale": "de_DE",
        "websiteUri": "",
        "phone1": "+49 89 224433",
        "phone2": "",
        "telefax": "",
        "mobile": "",
        "email": "info@megacorp.com",
        "birthdate": "1980-11-02",
        "euTaxId": "",
        "taxNumber": "",
        "noteText": null,
        "postalAddress": null,
        "billingAddress": {
            "addressLine1": "Arlington Road 1",
            "addressLine2": "",
            "addressLine3": "",
            "zipCode": "80333",
            "cityName": "Example Town",
            "state": "",
            "country": "DE"
        },
        "paymentMethod": null,
        "emailInvoice": "",
        "taxRegion": "NATIONAL",
        "duePeriod": "0",
        "dueUnit": "DAY"
    }

POST /Contracts

Create a new contract for a customer. Adding a subscription is optional.

Info

accountNumber only required if multiple accounts for customer exist.

Example request with subscription:

Code Block
{
        "accountNumber": 2,
        "customerNumber": "CUST1001",
        "projectName": "Projekt1",
        "subscription": {
            "termPeriod": 1,
            "termUnit": "MONTH",
            "noticePeriod": 4,
            "noticeUnit": "WEEK",
            "continuePeriod": 1,
            "continueUnit": "MONTH",
            "billedInAdvance": true,
            "subscriptionItems": [{
                    "quantity": 1,
                    "extraDescription": "",
                    "itemNumber": "item001"
                }
            ]
            
        },
        
        "issueDate": "2016-11-14",
        "recur": 6,
        "recurUnit": "MONTH",
        "duePeriod": null,
        "dueUnit": null,
        "paymentMethod": null
    }

POST /Contracts/:ContractNumber/Activities

Create a new activity entry for a given contract.

Info

if you want to override the system price set a value for 'individualPrice'

Example request:

Code Block
{
        "itemNumber": "item002",
        "quantity": 1,
        "individualPrice": null,
        "description": "additional information",
        "performanceDateStart": "2016-11-16T00:00:00Z",
        "performanceDateEnd": null
    }

POST /Contracts/:ContractNumber/Subscription

Create a new subscription for a existing contract without subscription.

Example request:

...

}