This documention describes an overview of the InExchange API.
Base URLs:
-
https://api.inexchange.com/v1/api/
- Production environment
-
https://testapi.inexchange.se/v1/api/
- Test environment
Authentication
- API Key (ApiKeyAuth)
- Parameter Name: APIkey, in: header. API key to identify ERP system server
- API Key (ClientTokenAuth)
- Parameter Name: ClientToken, in: header. Token to identify the user
Tokens
Operations for token management
Create
POST /clienttokens/create
Create a new client token for a company
Parameters
| Name | Type | Description |
|---|---|---|
| ErpId (Required) |
string | The ERPId of the company |
| ValidTo | string(date-time) | Optional validity |
| User | object | Information about the user who is requesting the token |
| » FullName | string | Full name of the user |
| » UserName | string | Username of the user |
| string | The email of the user | |
| » Roles | [string] | The users roles |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Created client token | ClientToken |
POST https://api.inexchange.com/v1/api/clienttokens/create HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"ErpId": "string",
"ValidTo": "2019-08-24T14:15:22Z",
"User": {
"FullName": "string",
"UserName": "string",
"Email": "string",
"Roles": [
"string"
]
}
}
{
"Token": "string",
"ValidTo": "2019-08-24T14:15:22Z"
}
Revoke
POST /clienttokens/revoke
Revoke an existing client token
Parameters
| Name | Type | Description |
|---|---|---|
| ClientToken (Required) |
string | Client token to revoke |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfully revoked a token | None |
POST https://api.inexchange.com/v1/api/clienttokens/revoke HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"ClientToken": "string"
}
Search token
POST /clienttokens/createsearchtoken
Generate a temporary token for search without registering a company
Parameters
| Name | Type | Description |
|---|---|---|
| SearchId | string | A unique identifier bound to the token. This should be unique per ERP-installation/company and should be resent on later generation requests when the token expire |
| ValidTo | string(date-time) | Optional validity |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Temporary search token | ClientToken |
POST https://api.inexchange.com/v1/api/clienttokens/createsearchtoken HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"SearchId": "string",
"ValidTo": "2019-08-24T14:15:22Z"
}
{
"Token": "string",
"ValidTo": "2019-08-24T14:15:22Z"
}
Companies
Operations for managing companies
Register
POST /companies/register
Register/Update details and activate services on a company. This call is async and the registration will be completed in the background.</br> Use call to GET /companies/status Read more here
Parameters
| Name | Type | Description |
|---|---|---|
| ErpId (Required) |
string | The ERPId of the company. This is the unique identifier of the company in your system |
| ErpProduct (Required) |
string | Full product name and version number. For example: Vendor X, Full product name, 1.0.0.0 |
| Name (Required) |
string | Name of the company |
| Email (Required) |
string | |
| CountryCode (Required) |
string | Country code, eg. SE, DK, FI etc |
| AltName | string | Alternative name of the company or department store |
| StreetName | string | Street name |
| Department | string | Department name |
| PostBox | string | Post box |
| City | string | City |
| PostalZone | string | Postal zone |
| PostalCode | string | Postal code. Use PostalZone instead. Will only be used if PostalZone isn’t set |
| LanguageCode | string | Language code, eg. sv, da, fi etc |
| PhoneNo | string | Phone number |
| FaxNo | string | Fax number |
| OrgNo (Required) |
string | Org number |
| VatNo | string | Vat number |
| GLN | string | GLN (Global location number) |
| IsVatRegistered | boolean | True if the company is regestered for VAT |
| Processes | [string] | List of all the serivces that should be active for the company |
Detailed descriptions
Processes: List of all the serivces that should be active for the company
SendInvoices- The company would like to be able to send invoicesReceiveInvoices- The company would like to be able to receive invoicesSendOrders- The company would like to send ordersReceiveOrders- The company would like to receive orders
Enumerated Values
| Parameter | Value |
|---|---|
| Processes | SendInvoices |
| Processes | ReceiveInvoices |
| Processes | SendOrders |
| Processes | ReceiveOrders |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | The | None |
POST https://api.inexchange.com/v1/api/companies/register HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"ErpId": "string",
"ErpProduct": "string",
"Name": "string",
"Email": "string",
"CountryCode": "string",
"AltName": "string",
"StreetName": "string",
"Department": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"PostalCode": "string",
"LanguageCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"IsVatRegistered": true,
"Processes": [
"SendInvoices"
]
}
Set company details
POST /companies/details
Set company details
Parameters
| Name | Type | Description |
|---|---|---|
| RegistrationId | string | Registration id that is later used to activate the company. Required when the company isn’t activated. </br> If the company is activated, this should be null and you should us a client token instead |
| ErpProduct (Required) |
string | Full product name and version number. For example: Vendor X, Full product name, 1.0.0.0 |
| Name (Required) |
string | Name of the company |
| Email (Required) |
string | |
| CountryCode (Required) |
string | Country code, eg. SE, DK, FI etc |
| AltName | string | Alternative name of the company or department store |
| StreetName | string | Street name |
| Department | string | Department name |
| PostBox | string | Post box |
| City | string | City |
| PostalZone | string | Postal zone |
| PostalCode | string | Postal code. Use PostalZone instead. Will only be used if PostalZone isn’t set |
| LanguageCode | string | Language code, eg. sv, da, fi etc |
| PhoneNo | string | Phone number |
| FaxNo | string | Fax number |
| OrgNo | string | Org number |
| VatNo | string | Vat number |
| GLN | string | GLN (Global location number) |
| IsVatRegistered | boolean | True if the company is regestered for VAT |
| Processes | [string] | List of all the serivces that should be active for the company |
Detailed descriptions
Processes: List of all the serivces that should be active for the company
SendInvoices- The company would like to be able to send invoicesReceiveInvoices- The company would like to be able to receive invoicesSendOrders- The company would like to send ordersReceiveOrders- The company would like to receive orders
Enumerated Values
| Parameter | Value |
|---|---|
| Processes | SendInvoices |
| Processes | ReceiveInvoices |
| Processes | SendOrders |
| Processes | ReceiveOrders |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The | None |
POST https://api.inexchange.com/v1/api/companies/details HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"RegistrationId": "string",
"ErpProduct": "string",
"Name": "string",
"Email": "string",
"CountryCode": "string",
"AltName": "string",
"StreetName": "string",
"Department": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"PostalCode": "string",
"LanguageCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"IsVatRegistered": true,
"Processes": [
"SendInvoices"
]
}
Manage services
POST /companies/services
Activate services on a registered company. Companies are normally registered with POST /companies/details if you use this call. Read more here
Parameters
| Name | Type | Description |
|---|---|---|
| RegistrationId | string | Registration id, was used in POST /companies/details. Required during first service activation |
| SearchId | string | Search id, used when creating temporary search tokens. Required during first service activation |
| ErpId (Required) |
string | The ERPId of the company. Will be connected to the InExchange Company in InExchange. Used to deliver billing information, possibly invoices to ERP Recipient and correlate updates |
| CountryCode (Required) |
string | Company country code, used for validation against the preregistration |
| OrgNo (Required) |
string | Company organization number, used for validation against the preregistration |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | The | None |
POST https://api.inexchange.com/v1/api/companies/services HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"RegistrationId": "string",
"SearchId": "string",
"ErpId": "string",
"CountryCode": "string",
"OrgNo": "string"
}
Company status
GET /companies/status
Get status of a company
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | CompaniesStatusResponse |
GET https://api.inexchange.com/v1/api/companies/status HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"Status": "string",
"CompanyId": "string",
"Details": {
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"Processes": [
"ReceiveInvoices"
],
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string"
}
}
Company details
GET /companies/details/{CompanyId}
Get details of a company in InExchange Network
Parameters
| Name | Type | Description |
|---|---|---|
| CompanyId (Required) |
string | ID of company |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | CompanyDetailsResponse |
GET https://api.inexchange.com/v1/api/companies/details/{CompanyId} HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"CountryCode": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"ReceiveElectronicInvoiceCapability": "CannotReceiveElectronicInvoices",
"SendsElectronicInvoiceCapability": "SendsElectronicInvoices",
"ReceiveElectronicOrderCapability": "ReceivesElectronicOrders",
"SendsElectronicOrderCapability": "SendsElectronicOrders",
"HasInvoiceChecks": true,
"InvoiceChecks": {
"BuyerReferenceNo": true,
"BuyerReferenceName": true,
"BuyerOrderNo": true,
"BuyerName": true
},
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"PeppolParticipantIdentifiers": [
"string"
]
}
Add User
POST /companies/users
Add an user to a company
Parameters
| Name | Type | Description |
|---|---|---|
| Email (Required) |
string | |
| UserName | string | User name |
| CultureCode | string | Supported culture codes are en-GB (default),da-DK,fi-FI,is-IS,nn-NO,sv-SE |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The User was successfully added | None |
| 400 | Bad Request | Returned if any of the required values is missing or that e.g. UserName, Email or Culture Code is not valid | None |
| 401 | Unauthorized | Returned if the supplied ClientToken does not have the privilege to add an User | None |
| 409 | Conflict | Returned if User could not be added, e.g. user name exists but is locked out, user name exists but is not approved or user name is already taken | None |
| 500 | Internal Server Error | Returned if an internal error occured | None |
Response Schema
POST https://api.inexchange.com/v1/api/companies/users HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"Email": "any@any.com",
"UserName": "user001",
"CultureCode": "sv-SE"
}
"UserName 'anyX' is invalid, must be at least 5 alphanumeric characters"
"UserName 'user001' is already taken"
Add Identifier
POST /companies/identifiers
Add an additional identifier
Parameters
| Name | Type | Description |
|---|---|---|
| Type | string | The type of identifiers |
| Value | string | Value to set |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The identifier was successfully added | None |
| 400 | Bad Request | Returned if argument is null, or not allowed to add identifier or supplied identifier type is not supported | None |
| 500 | Internal Server Error | Returned if an internal error occured | None |
Response Schema
POST https://api.inexchange.com/v1/api/companies/identifiers HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"Type": "MyCompanySpecificID",
"Value": 12345
}
"Unsupported Type FaultyType. Expected one of MyCompanySpecificId"
"Internal Error"
Delete company
POST /companies/delete
Delete your company data from InExchange Network. The expected response is 202, indicating the request has been accepted for processing. The given unique identifier is persisted together with your api key, and they will together determine which registration that is deleted.
Parameters
| Name | Type | Description |
|---|---|---|
| Id (Required) |
string | The unique identifier of the company in your system |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Ok is returned for duplicate requests | None |
| 202 | Accepted | Accepted is returned if the delete request was successfully persisted | None |
| 401 | Unauthorized | Unauthorized is returned if api key was invalid or required role DeleteRegistration was missing from api key | None |
| 500 | Internal Server Error | InternalServerError is returned if our system fails to persist your request for any reason | None |
| 501 | Not Implemented | NotImplemented is returned if all delete requests are disabled by feature toggle | None |
POST https://api.inexchange.com/v1/api/companies/delete HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"Id": "9e5d8742-871a-4659-ac0f-f4ba89f0fde0"
}
Network
Operations for searching the InExchange Network
Buyer lookup
POST /buyerparties/lookup
Search for companies which can receive invoices or send orders
Parameters
| Name | Type | Description |
|---|---|---|
| PartyId (Required) |
string | Customer number |
| Name | string | Company name |
| Department | string | Department name |
| StreetName | string | Street name |
| PostBox | string | Post box |
| PostalZone | string | Postal zone |
| City | string | City |
| CountryCode | string | Country code, eg. SE, DK, FI etc |
| PhoneNo | string | Phone number |
| FaxNo | string | Fax number |
| string | ||
| GLN | string | GLN |
| OrgNo | string | Org number |
| VatNo | string | Vat number |
| PeppolParticipantIdentifier | string | Peppol participant identifier, schema:idvalue |
| PostalCode | string | Postal code. Use PostalZone instead. Will only be used if PostalZone isn’t set. |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Search results | BuyerPartyLookupResponse |
POST https://api.inexchange.com/v1/api/buyerparties/lookup HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"PartyId": "string",
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"PostalZone": "string",
"City": "string",
"CountryCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"Email": "string",
"GLN": "string",
"OrgNo": "string",
"VatNo": "string",
"PeppolParticipantIdentifier": "string",
"PostalCode": "string"
}
{
"PotentialMatches": 0,
"ExactHit": true,
"Parties": [
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"Connected": true,
"ReceiveElectronicInvoiceCapability": "CannotReceiveElectronicInvoices",
"SendsElectronicOrderCapability": "SendsElectronicOrders"
}
]
}
Seller lookup
POST /sellerparties/lookup
Search for companies which can send invoices or receive orders
Parameters
| Name | Type | Description |
|---|---|---|
| PartyId (Required) |
string | Customer number |
| Name | string | Company name |
| Department | string | Department name |
| StreetName | string | Street name |
| PostBox | string | Post box |
| PostalZone | string | Postal zone |
| City | string | City |
| CountryCode | string | Country code, eg. SE, DK, FI etc |
| PhoneNo | string | Phone number |
| FaxNo | string | Fax number |
| string | ||
| GLN | string | GLN |
| OrgNo | string | Org number |
| VatNo | string | Vat number |
| PeppolParticipantIdentifier | string | Peppol participant identifier, schema:idvalue |
| PostalCode | string | Postal code. Use PostalZone instead. Will only be used if PostalZone isn’t set. |
| PaymentMeans | [object] | none |
| » Iban | string | none |
| » AccountNo | string | none |
| » Bic | string | none |
| » CountryCode | string | none |
| » AccountTypeCode | string | none |
| » FinancialInstitutionId | string | none |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Search results | SellerPartyLookupResponse |
POST https://api.inexchange.com/v1/api/sellerparties/lookup HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"PartyId": "string",
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"PostalZone": "string",
"City": "string",
"CountryCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"Email": "string",
"GLN": "string",
"OrgNo": "string",
"VatNo": "string",
"PeppolParticipantIdentifier": "string",
"PostalCode": "string",
"PaymentMeans": [
{
"Iban": "string",
"AccountNo": "string",
"Bic": "string",
"CountryCode": "string",
"AccountTypeCode": "string",
"FinancialInstitutionId": "string"
}
]
}
{
"PotentialMatches": 0,
"ExactHit": true,
"Parties": [
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"Connected": true,
"SendsElectronicInvoiceCapability": "SendsElectronicInvoices",
"ReceiveElectronicOrderCapability": "ReceivesElectronicOrders"
}
]
}
Company setup request
POST /network/setup
Issue a setup request to InExchange to add a company to InExchange Network
Parameters
| Name | Type | Description |
|---|---|---|
| Operator | object | Operator details |
| » Name | string | Operator name |
| » ContactName | string | Contact name at operator |
| » ContactPhone | string | Contact phone number at operator |
| » ContactEmail | string | Contact email at operator |
| Name | string | Company name |
| Department | string | Department name |
| StreetName | string | Street name |
| PostBox | string | Post box |
| City | string | City |
| PostalZone | string | Postal zone |
| CountryCode | string | Country code, eg. SE, DK, FI etc |
| PhoneNo | string | Phone number |
| FaxNo | string | Fax number |
| string | ||
| GLN | string | GLN |
| OrgNo | string | Org number |
| VatNo | string | Vat number |
| AttachmentUri | string | Scanned letter from supplier or customer depending on ProcessType. </br> Upload using POST /documents |
| Processes | [string] | List of all the serivces that is expected of the company. </br> To request setup of a new invoice recipient, set this to at least ReceiveInvoices |
| NetworkSetupFeedbackEmail | string | If this contains a valid email, then feedback will be sent to this email on a succesful network setup request. If this is empty or missing then feedback will be sent to the email provided in the company registration |
Enumerated Values
| Parameter | Value |
|---|---|
| Processes | ReceiveInvoices |
| Processes | SendInvoices |
| Processes | ReceiveOrders |
| Processes | SendOrders |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Request id | NetworkSetupResponse |
| 400 | Bad Request | Invalid network feedback response email | NetworkSetupResponseBadInput |
POST https://api.inexchange.com/v1/api/network/setup HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"Operator": {
"Name": "string",
"ContactName": "string",
"ContactPhone": "string",
"ContactEmail": "string"
},
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"Email": "string",
"GLN": "string",
"OrgNo": "string",
"VatNo": "string",
"AttachmentUri": "string",
"Processes": [
"ReceiveInvoices"
],
"NetworkSetupFeedbackEmail": "string"
}
{
"RequestId": "string"
}
Outbound Documents
Operations for sending documents
Upload
POST /documents
Upload documents before sending them as invoices, order etc.
Parameters
| Name | Type | Description |
|---|---|---|
| File | string(binary) | Binary data |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Reference to the uploaded document | None |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 202 | Location | string | Document reference |
POST https://api.inexchange.com/v1/api/documents HTTP/1.1
Host: api.inexchange.com
Content-Type: multipart/form-data
{
"File": "string"
}
Download Outbound
GET /documents/outbound/download/{DocumentId}
Get binary data of a previously sent document. </br></br> Easiest way to call this is to first call get status with file info using GET /api/{documentType}/outbound/{id}?includeFileInfo=true, GET /api/{documentType}/outbound/byerpid/{id}?includeFileInfo=true or POST /api/documents/outbound/list. In those results the complete URLs to outbound document’s files will be included.
Parameters
| Name | Type | Description |
|---|---|---|
| DocumentId (Required) |
string(uuid) | ID of document |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Binary data of the requested document | string |
GET https://api.inexchange.com/v1/api/documents/outbound/download/{DocumentId} HTTP/1.1
Host: api.inexchange.com
Accept: application/octet-stream
undefined
Send
POST /documents/outbound
Send documents previously uploaded with POST /documents. Small documents can be uploaded directly using multipart posts
Parameters
| Name | Type | Description |
|---|---|---|
| SendDocumentAs | object | none |
| » Type | string | none |
| » Paper | object | none |
| »» RecipientAddress | object | none |
| »»» Name | string | none |
| »»» Department | string | none |
| »»» StreetName | string | none |
| »»» PostBox | string | none |
| »»» PostalZone | string | none |
| »»» City | string | none |
| »»» CountryCode | string | none |
| »» ReturnAddress | object | none |
| »»» Name | string | none |
| »»» Department | string | none |
| »»» StreetName | string | none |
| »»» PostBox | string | none |
| »»» PostalZone | string | none |
| »»» City | string | none |
| »»» CountryCode | string | none |
| » Electronic | object | none |
| »» RecipientId | string | none |
| object | none | |
| »» RecipientEmail | string | none |
| »» RecipientName | string | none |
| »» SenderEmail | string | none |
| »» SenderName | string | none |
| » BusinessToConsumer | object | none |
| »» FMI | string | none |
| »» SSN | string | none |
| »» Provider | string | none |
| RecipientInformation | object | none |
| » GLN | string | none |
| » OrgNo | string | none |
| » VatNo | string | none |
| » Name | string | none |
| » RecipientNo | string | none |
| » CountryCode | string | none |
| Document | object | none |
| » DocumentFormat (Required) |
string | none |
| » ErpDocumentId | string | none |
| » DocumentUri (Required) |
string | none |
| » RenderedDocumentFormat | string | none |
| » RenderedDocumentUri | string | none |
| » Language | string | none |
| » Culture | string | none |
| » Attachments | [string] | none |
Enumerated Values
| Parameter | Value |
|---|---|
| » Type | |
| » Type | Paper |
| » Type | Electronic |
| » Type | Electronic |
| » Type | BusinessToConsumer |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The | None |
POST https://api.inexchange.com/v1/api/documents/outbound HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"SendDocumentAs": {
"Type": "PDF",
"Paper": {
"RecipientAddress": {
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"PostalZone": "string",
"City": "string",
"CountryCode": "string"
},
"ReturnAddress": {
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"PostalZone": "string",
"City": "string",
"CountryCode": "string"
}
},
"Electronic": {
"RecipientId": "string"
},
"Pdf": {
"RecipientEmail": "string",
"RecipientName": "string",
"SenderEmail": "string",
"SenderName": "string"
},
"BusinessToConsumer": {
"FMI": "string",
"SSN": "string",
"Provider": "string"
}
},
"RecipientInformation": {
"GLN": "string",
"OrgNo": "string",
"VatNo": "string",
"Name": "string",
"RecipientNo": "string",
"CountryCode": "string"
},
"Document": {
"DocumentFormat": "string",
"ErpDocumentId": "string",
"DocumentUri": "string",
"RenderedDocumentFormat": "string",
"RenderedDocumentUri": "string",
"Language": "string",
"Culture": "string",
"Attachments": [
"string"
]
}
}
Invoice status
GET /invoices/outbound/{DocumentId}
Query status of a document that have been sent. </br></br> By supplying optional query string parameter includeFileInfo metadata for files related to the document should be included. The fileinfo contains URL:s that can be used for downloading the files. Default is not to include file information.
Parameters
| Name | Type | Description |
|---|---|---|
| DocumentId (Required) |
string(uuid) | ID of document |
| IncludeFileInfo | boolean | ID of document |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | OutboundDocument |
GET https://api.inexchange.com/v1/api/invoices/outbound/{DocumentId} HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"Error": {
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
},
"StatusHistory": [
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
],
"Id": "string",
"DocumentType": "string",
"CurrentStatus": {
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
},
"ErpDocumentId": "string"
}
ERP Invoice status
GET /invoices/outbound/byerpid/{DocumentId}
Query status of a document that have been sent by supplying id from ERP system. This requires that the document id is supplied in the send document command </br></br> By supplying optional query string parameter includeFileInfo metadata for files related to the document should be included. The fileinfo contains URL:s that can be used for downloading the files
Parameters
| Name | Type | Description |
|---|---|---|
| DocumentId (Required) |
string(uuid) | ID of document |
| IncludeFileInfo | boolean | ID of document |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | OutboundDocument |
GET https://api.inexchange.com/v1/api/invoices/outbound/byerpid/{DocumentId} HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"Error": {
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
},
"StatusHistory": [
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
],
"Id": "string",
"DocumentType": "string",
"CurrentStatus": {
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
},
"ErpDocumentId": "string"
}
List document statuses
POST /documents/outbound/list
Get a list of statuses for sent documents. </br></br> In request it’s possible to supply how to filter the list. It’s also possible to specify how many statuses to be returned and the offset from where to start fetching (used for paging)
Parameters
| Name | Type | Description |
|---|---|---|
| Take | integer | none |
| Skip | integer | none |
| CreatedFrom | string(date-time) | none |
| CreatedTo | string(date-time) | none |
| UpdatedAfter | string(date-time) | none |
| DocumentType | string | none |
| Status | string | none |
| IgnoreStatuses | [DocumentStatus] | none |
| IncludeFileInfo | boolean | none |
| IncludeErrorInfo | boolean | none |
Enumerated Values
| Parameter | Value |
|---|---|
| IgnoreStatuses | Pending |
| IgnoreStatuses | PendingInPlatform |
| IgnoreStatuses | Converting |
| IgnoreStatuses | ConversionComplete |
| IgnoreStatuses | ConversionFailed |
| IgnoreStatuses | Sent |
| IgnoreStatuses | Delivered |
| IgnoreStatuses | Stopped |
| IgnoreStatuses | Sold |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | DocumentOutboundListResponse |
POST https://api.inexchange.com/v1/api/documents/outbound/list HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: application/json
{
"Take": 0,
"Skip": 0,
"CreatedFrom": "2019-08-24T14:15:22Z",
"CreatedTo": "2019-08-24T14:15:22Z",
"UpdatedAfter": "2019-08-24T14:15:22Z",
"DocumentType": "string",
"Status": "string",
"IgnoreStatuses": [
"Pending"
],
"IncludeFileInfo": true,
"IncludeErrorInfo": true
}
{
"TotalCount": 0,
"Documents": [
{
"Error": {
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
},
"StatusHistory": [
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
],
"Id": "string",
"DocumentType": "string",
"CurrentStatus": {
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
},
"ErpDocumentId": "string"
}
]
}
Inbound Documents
Operations for fetching documents
List
GET /documents/incoming
Parameters
| Name | Type | Description |
|---|---|---|
| Type | string | Document type |
| SequenceNo | integer | Filter from sequence no |
Enumerated Values
| Parameter | Value |
|---|---|
| Type | Invoice |
| Type | Order |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | IncomingDocumentsResponse |
GET https://api.inexchange.com/v1/api/documents/incoming HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"Documents": [
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"InfoUrl": "string",
"DownloadUrl": "string",
"SequenceNo": "string",
"CompanyId": "string"
}
],
"Total": 0
}
Metadata
GET /documents/{DocumentId}/info
Get information about a incoming document. There are specialized version per document type
Parameters
| Name | Type | Description |
|---|---|---|
| DocumentId (Required) |
string | type |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | none | IncomingDocumentInfo |
GET https://api.inexchange.com/v1/api/documents/{DocumentId}/info HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"DocumentUrl": "string",
"RenderedDocumentFormat": "string",
"RenderedDocumentUrl": "string",
"Attachments": [
"string"
]
}
Download Incoming
GET /documents/{DocumentId}
Get binary data of a document. There are specialized versions per document type.
Parameters
| Name | Type | Description |
|---|---|---|
| DocumentId (Required) |
string | type |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Binary data | None |
GET https://api.inexchange.com/v1/api/documents/{DocumentId} HTTP/1.1
Host: api.inexchange.com
undefined
Mark as handled
POST /documents/handled
Mark documents as handled, which causes them to disappear from the incoming lists
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | The | None |
POST https://api.inexchange.com/v1/api/documents/handled HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
[
"string"
]
Delivery methods
Operations for delivery methods
Setup B2C delivery method Kivra
POST /companies/deliverymethods/b2c/kivra
Setup B2C delivery method Kivra
Parameters
| Name | Type | Description |
|---|---|---|
| LegalName | string | Legal name |
| DisplayName | string | Display name |
| OrgNo | string | Organization number |
| OrgVatNo | string | Organization number |
| ContactFirstname | string | Contact first name |
| ContactLastName | string | Contact last name |
| ContactPersonEmail | string | Contact person email |
| GeneralEmail | string | General email |
| ContactPhone | string | Contact phone number |
| PubAgreement | boolean | Agree to PubAgreement |
| TermsAndConditions | boolean | Agree to TermsAndConditions |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful registration | None |
| 400 | Bad Request | Invalid registration input | string |
| 409 | Conflict | Registration conflict | None |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Location | string | Registration status | |
| 409 | Location | string | Registration status |
POST https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: text/plain
{
"LegalName": "Demo Company 083440-2861",
"DisplayName": "Demo Company 083440-2861",
"OrgNo": "083440-2861",
"OrgVatNo": "SE083440286101",
"ContactFirstname": "Firstname",
"ContactLastName": "LastName",
"ContactPersonEmail": "person@democompany.se",
"GeneralEmail": "general@democompany.se",
"ContactPhone": 46000000000,
"PubAgreement": true,
"TermsAndConditions": true
}
"OrgVatNo is not valid"
Get status for B2C delivery method Kivra
GET /companies/deliverymethods/b2c/kivra
Get status for B2C delivery method Kivra
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | kivra registration info | KivraStatusResponce |
GET https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra HTTP/1.1
Host: api.inexchange.com
Accept: application/json
undefined
{
"status": "Completed",
"agreementStatus": "Signed",
"agreementStart": "2019-08-24T14:15:22Z",
"agreementEnd": "2019-08-24T14:15:22Z",
"DisplayName": "string",
"ContactPersonEmail": "string",
"ContactFirstName": "string",
"ContactLastName": "string",
"GeneralEmail": "string",
"ContactPhone": "string"
}
Update Kivra contact information
PATCH /companies/deliverymethods/b2c/kivra
Kivra contact information
Parameters
| Name | Type | Description |
|---|---|---|
| OrgNo | string | Organization number |
| DisplayName | string | Display name |
| ContactFirstname | string | contact first name |
| ContactLastName | string | contact last name |
| ContactPersonEmail | string | Contact person email |
| GeneralEmail | string | general email |
| ContactPhone | string | contact phone number |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful registration | None |
| 400 | Bad Request | Invalid registration update | None |
PATCH https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
{
"OrgNo": "083440-2861",
"DisplayName": "Demo Company 083440-2861",
"ContactFirstname": "Firstname",
"ContactLastName": "LastName",
"ContactPersonEmail": "person@democompany.se",
"GeneralEmail": "general@democompany.se",
"ContactPhone": 46000000000
}
Update icon in Kivra UI
POST /companies/deliverymethods/b2c/kivra/icon
Update icon in Kivra UI
Parameters
| Name | Type | Description |
|---|---|---|
| ContentType | string | the IANA media type corresponding to the file |
| Data | string | Base64-encoded PNG image |
| Filename | string | arbitrary file-name that is shown alongside the File in the Kivra GUI |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Kivra icon update | None |
| 400 | Bad Request | Invalid input | string |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Location | string | Icon url |
POST https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra/icon HTTP/1.1
Host: api.inexchange.com
Content-Type: application/json
Accept: text/plain
{
"ContentType": "image/png",
"Data": "-- PNG image data converted to base64 string --",
"Filename": "radio-icon"
}
"The request can't be processed due to the icon format not being compliant with the requirements"
OffBoard Kivra
POST /companies/deliverymethods/b2c/kivra/offboard
OffBoard Kivra
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Kivra offboard | None |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Location | string | Kivra status url |
POST https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra/offboard HTTP/1.1
Host: api.inexchange.com
undefined
Lookup persons registered in Kivra
POST /companies/deliverymethods/b2c/kivra/lookup
Lookup persons registered Kivra
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful lookup | None |
| 400 | Bad Request | Lookup failed | None |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Location | string[] | Registered ssns in Kivra | |
| 400 | Location | string | Error message |
POST https://api.inexchange.com/v1/api/companies/deliverymethods/b2c/kivra/lookup HTTP/1.1
Host: api.inexchange.com
undefined
Schemas
IncomingDocumentsResponse
{
"Documents": [
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"InfoUrl": "string",
"DownloadUrl": "string",
"SequenceNo": "string",
"CompanyId": "string"
}
],
"Total": 0
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Documents | [IncomingDocument] | none | none |
| Total | integer | none | none |
IncomingDocument
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"InfoUrl": "string",
"DownloadUrl": "string",
"SequenceNo": "string",
"CompanyId": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Id | string | none | ID of document |
| DocumentType | string | none | Document type |
| DocumentFormat | string | none | Document format |
| InfoUrl | string | none | Url to more information about the document. Such as the actual documents or attachments |
| DownloadUrl | string | none | Url to the actual document to be downloaded |
| SequenceNo | string | none | The number in the sequence this document arrived |
| CompanyId | string | none | Is set if the methods is called as an operator |
DocumentOutboundListResponse
{
"TotalCount": 0,
"Documents": [
{
"Error": {
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
},
"StatusHistory": [
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
],
"Id": "string",
"DocumentType": "string",
"CurrentStatus": {
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
},
"ErpDocumentId": "string"
}
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| TotalCount | integer | none | none |
| Documents | [OutboundDocument] | none | none |
NetworkSetupResponse
{
"RequestId": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| RequestId | string | none | The request id |
NetworkSetupResponseBadInput
{
"message": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| message | string | none | Invalid NetworkSetupFeedbackEmail: {supplied mail} , must be missing, empty or contain a valid email |
KivraStatusResponce
{
"status": "Completed",
"agreementStatus": "Signed",
"agreementStart": "2019-08-24T14:15:22Z",
"agreementEnd": "2019-08-24T14:15:22Z",
"DisplayName": "string",
"ContactPersonEmail": "string",
"ContactFirstName": "string",
"ContactLastName": "string",
"GeneralEmail": "string",
"ContactPhone": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| status | string | none | none |
| agreementStatus | string | none | none |
| agreementStart | string(date-time) | none | Start aggrement |
| agreementEnd | string(date-time) | none | Optional |
| DisplayName | string | none | none |
| ContactPersonEmail | string | none | none |
| ContactFirstName | string | none | none |
| ContactLastName | string | none | none |
| GeneralEmail | string | none | none |
| ContactPhone | string | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | Completed |
| status | CompleteConflict |
| status | Unknown |
| agreementStatus | Signed |
| agreementStatus | Expired |
| agreementStatus | Failed |
CompaniesStatusResponse
{
"Status": "string",
"CompanyId": "string",
"Details": {
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"Processes": [
"ReceiveInvoices"
],
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string"
}
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Status | string | none | Registration status |
| CompanyId | string | none | InExchange company id |
| Details | object | none | Registered company details |
| » Name | string | none | Name of the company |
| » AltName | string | none | Department or alternative name |
| » StreetName | string | none | Street name |
| » PostBox | string | none | Post box |
| » City | string | none | City |
| » PostalZone | string | none | Postal zone |
| » CountryCode | string | none | Country code, eg. SE, DK, FI etc |
| » PhoneNo | string | none | Phone number |
| » OrgNo | string | none | Org number |
| » VatNo | string | none | Vat number |
| » GLN | string | none | GLN (Global location number) |
| » Processes | [string] | none | Active processes |
| » PeppolParticipantIdentifiers | [string] | none | none |
| » Address | string | none | Address. Read from StreetName instead |
| » Address2 | string | none | Can be used for C/O address line. Read from PostBox instead |
| » PostalCode | string | none | Postal code. Read from PostalZone instead |
SellerPartyLookupResponse
{
"PotentialMatches": 0,
"ExactHit": true,
"Parties": [
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"Connected": true,
"SendsElectronicInvoiceCapability": "SendsElectronicInvoices",
"ReceiveElectronicOrderCapability": "ReceivesElectronicOrders"
}
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| PotentialMatches | integer | none | Number of potential matches if multiple matches. Only 256 results are returned |
| ExactHit | boolean | none | Is set to true when an exact result is return. Exact results have only one party |
| Parties | [object] | none | Parties found during lookup, zero or more |
| » CompanyId | string | none | none |
| » Name | string | none | none |
| » AltName | string | none | none |
| » StreetName | string | none | none |
| » PostBox | string | none | none |
| » City | string | none | none |
| » PostalZone | string | none | none |
| » CountryCode | string | none | none |
| » PhoneNo | string | none | none |
| » OrgNo | string | none | none |
| » VatNo | string | none | none |
| » GLN | string | none | none |
| » PeppolParticipantIdentifiers | [string] | none | none |
| » Address | string | none | none |
| » Address2 | string | none | none |
| » PostalCode | string | none | none |
| » Connected | boolean | none | none |
| » SendsElectronicInvoiceCapability | SendsElectronicInvoiceCapability | none | Which capabilities a company may have to receive e-invoices * SendsElectronicInvoices - Company can send e-invoices* CannotSendElectronicInvoices - Company cannot send e-invoices* ContactRequiredBeforeSendingElectronicInvoices - Company sends e-invoices. You have to contact the company first to setup e-invoicing* ErpSystemSupportsSendingElectronicInvoices - Company uses an ERP-system that support sending e-invoices, but it’s not activated |
| » ReceiveElectronicOrderCapability | ReceiveElectronicOrderCapability | none | Which capabilities a company may have to receive e-invoices * ReceivesElectronicOrders - Company can receive e-order* CannotReceiveElectronicOrders - Company cannot receive e-order* ContactRequiredBeforeReceivingElectronicOrders - Company receives e-order. You can send orders but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ErpSystemSupportsReceivingElectronicOrders - Company uses an ERP-system that support receiving e-orders, but it’s not activated |
BuyerPartyLookupResponse
{
"PotentialMatches": 0,
"ExactHit": true,
"Parties": [
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"PeppolParticipantIdentifiers": [
"string"
],
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"Connected": true,
"ReceiveElectronicInvoiceCapability": "CannotReceiveElectronicInvoices",
"SendsElectronicOrderCapability": "SendsElectronicOrders"
}
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| PotentialMatches | integer | none | Number of potential matches if multiple matches. Only 256 results are returned |
| ExactHit | boolean | none | Is set to true when an exact result is return. Exact results have only one party |
| Parties | [object] | none | Parties found during lookup, zero or more |
| » CompanyId | string | none | none |
| » Name | string | none | none |
| » AltName | string | none | none |
| » StreetName | string | none | none |
| » PostBox | string | none | none |
| » City | string | none | none |
| » PostalZone | string | none | none |
| » CountryCode | string | none | none |
| » PhoneNo | string | none | none |
| » OrgNo | string | none | none |
| » VatNo | string | none | none |
| » GLN | string | none | none |
| » PeppolParticipantIdentifiers | [string] | none | none |
| » Address | string | none | none |
| » Address2 | string | none | none |
| » PostalCode | string | none | none |
| » Connected | boolean | none | none |
| » ReceiveElectronicInvoiceCapability | ReceiveElectronicInvoiceCapability | none | Which capabilities a company may have to receive e-invoices * CannotReceiveElectronicInvoices - Company cannot receive e-invoices* ContactRequiredBeforeReceivingElectronicInvoices - Company receives e-invoices. You can send invoices but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ReceivingElectronicInvoices - Company receives e-invoices* ErpSystemSupportsElectronicInvoices - Company uses an ERP-system that support receiving e-invoices, but it’s not activated |
| » SendsElectronicOrderCapability | SendsElectronicOrderCapability | none | Which capabilities a company may have to receive e-invoices * SendsElectronicOrders - Company can send e-order* CannotSendElectronicOrders - Company cannot send e-order* ContactRequiredBeforeSendingElectronicOrders - Company sends e-order. You have to contact the company first to setup e-order* ErpSystemSupportsSendingElectronicOrders - Company uses an ERP-system that support sending e-order, but it’s not activated |
ClientToken
{
"Token": "string",
"ValidTo": "2019-08-24T14:15:22Z"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Token | string | none | none |
| ValidTo | string(date-time) | none | none |
ReceiveElectronicInvoiceCapability
"CannotReceiveElectronicInvoices"
Which capabilities a company may have to receive e-invoices
CannotReceiveElectronicInvoices- Company cannot receive e-invoicesContactRequiredBeforeReceivingElectronicInvoices- Company receives e-invoices. You can send invoices but expect that they will be stopped unless you have contacted the company first and agreed on which information that is requiredReceivingElectronicInvoices- Company receives e-invoicesErpSystemSupportsElectronicInvoices- Company uses an ERP-system that support receiving e-invoices, but it’s not activated
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| anonymous | string | none | Which capabilities a company may have to receive e-invoices * CannotReceiveElectronicInvoices - Company cannot receive e-invoices* ContactRequiredBeforeReceivingElectronicInvoices - Company receives e-invoices. You can send invoices but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ReceivingElectronicInvoices - Company receives e-invoices* ErpSystemSupportsElectronicInvoices - Company uses an ERP-system that support receiving e-invoices, but it’s not activated |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CannotReceiveElectronicInvoices |
| anonymous | ContactRequiredBeforeReceivingElectronicInvoices |
| anonymous | ReceivingElectronicInvoices |
| anonymous | ErpSystemSupportsElectronicInvoices |
SendsElectronicInvoiceCapability
"SendsElectronicInvoices"
Which capabilities a company may have to receive e-invoices
SendsElectronicInvoices- Company can send e-invoicesCannotSendElectronicInvoices- Company cannot send e-invoicesContactRequiredBeforeSendingElectronicInvoices- Company sends e-invoices. You have to contact the company first to setup e-invoicingErpSystemSupportsSendingElectronicInvoices- Company uses an ERP-system that support sending e-invoices, but it’s not activated
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| anonymous | string | none | Which capabilities a company may have to receive e-invoices * SendsElectronicInvoices - Company can send e-invoices* CannotSendElectronicInvoices - Company cannot send e-invoices* ContactRequiredBeforeSendingElectronicInvoices - Company sends e-invoices. You have to contact the company first to setup e-invoicing* ErpSystemSupportsSendingElectronicInvoices - Company uses an ERP-system that support sending e-invoices, but it’s not activated |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | SendsElectronicInvoices |
| anonymous | CannotSendElectronicInvoices |
| anonymous | ContactRequiredBeforeSendingElectronicInvoices |
| anonymous | ErpSystemSupportsSendingElectronicInvoices |
SendsElectronicOrderCapability
"SendsElectronicOrders"
Which capabilities a company may have to receive e-invoices
SendsElectronicOrders- Company can send e-orderCannotSendElectronicOrders- Company cannot send e-orderContactRequiredBeforeSendingElectronicOrders- Company sends e-order. You have to contact the company first to setup e-orderErpSystemSupportsSendingElectronicOrders- Company uses an ERP-system that support sending e-order, but it’s not activated
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| anonymous | string | none | Which capabilities a company may have to receive e-invoices * SendsElectronicOrders - Company can send e-order* CannotSendElectronicOrders - Company cannot send e-order* ContactRequiredBeforeSendingElectronicOrders - Company sends e-order. You have to contact the company first to setup e-order* ErpSystemSupportsSendingElectronicOrders - Company uses an ERP-system that support sending e-order, but it’s not activated |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | SendsElectronicOrders |
| anonymous | CannotSendElectronicOrders |
| anonymous | ContactRequiredBeforeSendingElectronicOrders |
| anonymous | ErpSystemSupportsSendingElectronicOrders |
ReceiveElectronicOrderCapability
"ReceivesElectronicOrders"
Which capabilities a company may have to receive e-invoices
ReceivesElectronicOrders- Company can receive e-orderCannotReceiveElectronicOrders- Company cannot receive e-orderContactRequiredBeforeReceivingElectronicOrders- Company receives e-order. You can send orders but expect that they will be stopped unless you have contacted the company first and agreed on which information that is requiredErpSystemSupportsReceivingElectronicOrders- Company uses an ERP-system that support receiving e-orders, but it’s not activated
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| anonymous | string | none | Which capabilities a company may have to receive e-invoices * ReceivesElectronicOrders - Company can receive e-order* CannotReceiveElectronicOrders - Company cannot receive e-order* ContactRequiredBeforeReceivingElectronicOrders - Company receives e-order. You can send orders but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ErpSystemSupportsReceivingElectronicOrders - Company uses an ERP-system that support receiving e-orders, but it’s not activated |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | ReceivesElectronicOrders |
| anonymous | CannotReceiveElectronicOrders |
| anonymous | ContactRequiredBeforeReceivingElectronicOrders |
| anonymous | ErpSystemSupportsReceivingElectronicOrders |
CompanyDetailsResponse
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"CountryCode": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"ReceiveElectronicInvoiceCapability": "CannotReceiveElectronicInvoices",
"SendsElectronicInvoiceCapability": "SendsElectronicInvoices",
"ReceiveElectronicOrderCapability": "ReceivesElectronicOrders",
"SendsElectronicOrderCapability": "SendsElectronicOrders",
"HasInvoiceChecks": true,
"InvoiceChecks": {
"BuyerReferenceNo": true,
"BuyerReferenceName": true,
"BuyerOrderNo": true,
"BuyerName": true
},
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"PeppolParticipantIdentifiers": [
"string"
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| CompanyId | string | none | InExchange company id |
| Name | string | none | Name of the company |
| AltName | string | none | Department or alternative name |
| CountryCode | string | none | Country code, eg. SE, DK, FI etc |
| StreetName | string | none | Street name |
| PostBox | string | none | Post box |
| City | string | none | City |
| PostalZone | string | none | Postal zone |
| PhoneNo | string | none | Phone number |
| OrgNo | string | none | Org number |
| VatNo | string | none | Vat number |
| GLN | string | none | GLN (Global location number) |
| ReceiveElectronicInvoiceCapability | ReceiveElectronicInvoiceCapability | none | Which capabilities a company may have to receive e-invoices * CannotReceiveElectronicInvoices - Company cannot receive e-invoices* ContactRequiredBeforeReceivingElectronicInvoices - Company receives e-invoices. You can send invoices but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ReceivingElectronicInvoices - Company receives e-invoices* ErpSystemSupportsElectronicInvoices - Company uses an ERP-system that support receiving e-invoices, but it’s not activated |
| SendsElectronicInvoiceCapability | SendsElectronicInvoiceCapability | none | Which capabilities a company may have to receive e-invoices * SendsElectronicInvoices - Company can send e-invoices* CannotSendElectronicInvoices - Company cannot send e-invoices* ContactRequiredBeforeSendingElectronicInvoices - Company sends e-invoices. You have to contact the company first to setup e-invoicing* ErpSystemSupportsSendingElectronicInvoices - Company uses an ERP-system that support sending e-invoices, but it’s not activated |
| ReceiveElectronicOrderCapability | ReceiveElectronicOrderCapability | none | Which capabilities a company may have to receive e-invoices * ReceivesElectronicOrders - Company can receive e-order* CannotReceiveElectronicOrders - Company cannot receive e-order* ContactRequiredBeforeReceivingElectronicOrders - Company receives e-order. You can send orders but expect that they will be stopped unless you have contacted the company first and agreed on which information that is required* ErpSystemSupportsReceivingElectronicOrders - Company uses an ERP-system that support receiving e-orders, but it’s not activated |
| SendsElectronicOrderCapability | SendsElectronicOrderCapability | none | Which capabilities a company may have to receive e-invoices * SendsElectronicOrders - Company can send e-order* CannotSendElectronicOrders - Company cannot send e-order* ContactRequiredBeforeSendingElectronicOrders - Company sends e-order. You have to contact the company first to setup e-order* ErpSystemSupportsSendingElectronicOrders - Company uses an ERP-system that support sending e-order, but it’s not activated |
| HasInvoiceChecks | boolean | none | This company has extra invoice checks which are performed before delivery of e-invoices |
| InvoiceChecks | object | none | Details about any invoice checks before delivery |
| » BuyerReferenceNo | boolean | none | Company has checks on reference no on received invoices |
| » BuyerReferenceName | boolean | none | Company has checks on reference name on received invoices |
| » BuyerOrderNo | boolean | none | Company has checks on order no on received invoices |
| » BuyerName | boolean | none | Company has checks on the name of the recipient on received invoices |
| Address | string | none | Address. Read from StreetName instead |
| Address2 | string | none | Can be used for care of address line. Read from PostBox instead |
| PostalCode | string | none | Postal code. Read from PostalZone instead |
| PeppolParticipantIdentifiers | [string] | none | Peppol participant identifiers currently published |
CompanyInfo
{
"ErpProduct": "string",
"Name": "string",
"Email": "string",
"CountryCode": "string",
"AltName": "string",
"StreetName": "string",
"Department": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"PostalCode": "string",
"LanguageCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"IsVatRegistered": true,
"Processes": [
"SendInvoices"
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| ErpProduct</br><div class="requiredParam">(Required)</div> | string | none | none |
| Name</br><div class="requiredParam">(Required)</div> | string | none | none |
| Email</br><div class="requiredParam">(Required)</div> | string | none | none |
| CountryCode</br><div class="requiredParam">(Required)</div> | string | none | none |
| AltName | string | none | none |
| StreetName | string | none | none |
| Department | string | none | none |
| PostBox | string | none | none |
| City | string | none | none |
| PostalZone | string | none | none |
| PostalCode | string | none | none |
| LanguageCode | string | none | none |
| PhoneNo | string | none | none |
| FaxNo | string | none | none |
| OrgNo | string | none | none |
| VatNo | string | none | none |
| GLN | string | none | none |
| IsVatRegistered | boolean | none | none |
| Processes | [string] | none | none |
Party
{
"CompanyId": "string",
"Name": "string",
"AltName": "string",
"StreetName": "string",
"PostBox": "string",
"City": "string",
"PostalZone": "string",
"CountryCode": "string",
"PhoneNo": "string",
"OrgNo": "string",
"VatNo": "string",
"GLN": "string",
"Address": "string",
"Address2": "string",
"PostalCode": "string",
"Connected": true
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| CompanyId | string | none | none |
| Name | string | none | none |
| AltName | string | none | none |
| StreetName | string | none | none |
| PostBox | string | none | none |
| City | string | none | none |
| PostalZone | string | none | none |
| CountryCode | string | none | none |
| PhoneNo | string | none | none |
| OrgNo | string | none | none |
| VatNo | string | none | none |
| GLN | string | none | none |
| Address | string | none | none |
| Address2 | string | none | none |
| PostalCode | string | none | none |
| Connected | boolean | none | none |
PartyLookup
{
"PartyId": "string",
"Name": "string",
"Department": "string",
"StreetName": "string",
"PostBox": "string",
"PostalZone": "string",
"City": "string",
"CountryCode": "string",
"PhoneNo": "string",
"FaxNo": "string",
"Email": "string",
"GLN": "string",
"OrgNo": "string",
"VatNo": "string",
"PostalCode": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| PartyId | string | none | none |
| Name | string | none | none |
| Department | string | none | none |
| StreetName | string | none | none |
| PostBox | string | none | none |
| PostalZone | string | none | none |
| City | string | none | none |
| CountryCode | string | none | none |
| PhoneNo | string | none | none |
| FaxNo | string | none | none |
| string | none | none | |
| GLN | string | none | none |
| OrgNo | string | none | none |
| VatNo | string | none | none |
| PostalCode | string | none | none |
ErrorInfo
{
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Message | string | none | The error message in plain text. It might be localized. To control which language you prefer then add the HTTP header “Accept-Language". |
| MoreInfoUri | string | none | Additional information about the error. Is optional and may be null. |
| Status | string | none | none |
OutboundDocumentStatus
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Status | DocumentStatus | none | none |
| Time | string(date-time) | none | none |
OutboundDocument
{
"Error": {
"Message": "string",
"MoreInfoUri": "string",
"Status": "string"
},
"StatusHistory": [
{
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
}
],
"Id": "string",
"DocumentType": "string",
"CurrentStatus": {
"Status": "Pending",
"Time": "2019-08-24T14:15:22Z"
},
"ErpDocumentId": "string"
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Error | ErrorInfo | none | none |
| StatusHistory | [OutboundDocumentStatus] | none | none |
| Id | string | none | none |
| DocumentType | string | none | none |
| CurrentStatus | OutboundDocumentStatus | none | none |
| ErpDocumentId | string | none | none |
IncomingDocumentInfo
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"DocumentUrl": "string",
"RenderedDocumentFormat": "string",
"RenderedDocumentUrl": "string",
"Attachments": [
"string"
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Id | string | none | Id of the document |
| DocumentType | string | none | Document type |
| DocumentFormat | string | none | Document format |
| DocumentUrl | string | none | Document url |
| RenderedDocumentFormat | string | none | Rendered format |
| RenderedDocumentUrl | string | none | Rendered document url |
| Attachments | [string] | none | Any attachments |
IncomingDocuments
{
"Total": 0,
"Documents": [
{
"Id": "string",
"DocumentType": "string",
"DocumentFormat": "string",
"InfoUrl": "string",
"DownloadUrl": "string",
"SequenceNo": 0,
"CompanyId": "string"
}
]
}
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| Total | integer | none | none |
| Documents | [object] | none | none |
| » Id | string | none | none |
| » DocumentType | string | none | none |
| » DocumentFormat | string | none | none |
| » InfoUrl | string | none | none |
| » DownloadUrl | string | none | none |
| » SequenceNo | integer | none | none |
| » CompanyId | string | none | none |
DocumentStatus
"Pending"
Properties
| Name | Type | Restrictions | Description |
|---|---|---|---|
| anonymous | string | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | Pending |
| anonymous | PendingInPlatform |
| anonymous | Converting |
| anonymous | ConversionComplete |
| anonymous | ConversionFailed |
| anonymous | Sent |
| anonymous | Delivered |
| anonymous | Stopped |
| anonymous | Sold |