Release Notes for v1.5
on 4 August 2017
General changes:
- There is a new test deployment that will be hosting our preview of the vNext releases for the incontrl api. This deployment can be found here
- Renamed customer to
recipient
on all Invoice models (requests/responses) - The new
recipient
object now includes both an organization as well as a contact property. The organization entity is related to the company's details and the contact entity relates to a physical person. In other words, for each invoiced recipient we can store a company (organization) alongside to the physical person. - In the document template model that is used throughout the PDF rendering there is a new member called the
issuer
which is similar to therecipient
as it also includes an organization and a contact populated from the current subscriber info. - Created a new API Call in contacts endpoint (see below).
- Added address object in contact.
Url changes:
- Removed v1 prefix (
/v1/subscriptions/...
is now/subscriptions/...
). Latest version is now inferred if not specified. If needed, version preference will be supplied via the querystring or header. - The updated organisation URLs are the following:
- GET: /subscriptions/{subscriptionId}/organisations
- POST: /subscriptions/{subscriptionId}/organisations
- GET: /subscriptions/{subscriptionId}/organisations/{organisationId}
- PUT: /subscriptions/{subscriptionId}/organisations/{organisationId}
Sample Payload for an Invoice model:
The content of the invoice payload has changed only in the customer's "member". In more details:
- The customer member got renamed to recipient
- The new "recipient" contains the organization and contact members as shown below:
{
"recipient": {
"organisation": {
"name": "ACME",
"legalName": "ACME",
"lineOfBusiness": "Independent software vendor (ISV)",
"taxCode": "ELXXXXXXXX",
"taxOffice": "XX' Athinon",
"currencyCode": "EUR",
"address": {
"line1": "Iakchou XX",
"city": "Athens",
"zipCode": "11XXX",
"countryCode": "GR",
"phone1": "+3021XXXXXXX"
},
"email": "info@acme.gr",
"website": "www.acme.gr",
"paymentMethods": []
},
"contact": {
"firstName": "Jon",
"lastName": "Snow"
}
}
}
The recipient is an optional member. This also applies to the contact and organisation details beneath it.
In invoice-template:
According to the amendments we've made, the following fields should be changed in the invoice template:
From | To |
---|---|
[[Company.Name]] | [[Issuer.Organisation.Name]] |
[[Company.Address.Line1]] | [[Issuer.Organisation.Address.Line1]] |
[[Company.Address.City]] | [[Issuer.Organisation.Address.City]] |
[[Company.Address.ZipCode]] | [[Issuer.Organisation.Address.ZipCode]] |
[[Company.Address.Country]] | [[Issuer.Organisation.Address.Country]] |
[[Company.Address.Phone1]] | [[Issuer.Organisation.Address.Phone1]] |
[[Company.Email]] | [[Issuer.Organisation.Email]] |
[[Company.Website]] | [[Issuer.Organisation.Website]] |
[[Company.TaxCode]] | [[Issuer.Organisation.TaxCode]] |
[[Company.TaxOffice]] | [[Issuer.Organisation.TaxOffice]] |
From | To |
---|---|
[[Customer.Name]] | [[Recipient.Organisation.Name]] |
[[Customer.Address.Line1]] | [[Recipient.Organisation.Address.Line1]] |
[[Customer.Address.City]] | [[Recipient.Organisation.Address.City]] |
[[Customer.Address.ZipCode]] | [[Recipient.Organisation.Address.ZipCode]] |
[[Customer.Address.Country]] | [[Recipient.Organisation.Address.Country]] |
[[Customer.Address.Phone1]] | [[Recipient.Organisation.Address.Phone1]] |
[[Customer.TaxOffice]] | [[Recipient.Organisation.TaxOffice]] |
[[Customer.TaxCode]] | [[Recipient.Organisation.TaxCode]] |
In the invoice template Company.XXX must be converted to Issuer.Organisation.XXX or Issuer.Contact.ΧΧΧ depending on the information you want to represent and Customer.ΧΧΧ to Recipient.Organisation.ΧΧΧ or Recipient.Contact.ΧΧΧ
We can use the contact property to represent for example the Customer's identity # / passport. To accomplish this, you should include the following in the invoice-template : [[Recipient.Contact.Code]]
New API Call:
- We've added a new API Call under contacts endpoint in order to retrieve the companies for a specific contact.
- The new contact URL is the following:
- GET: /subscriptions/{subscriptionId}/contacts/{contactId}/companies
Address object in contact:
We've added the address property in contact. The content of the contact and invoice payloads has changed. In detail:
- Add address in contact payload as shown below:
{
"code": "ABXXXX",
"firstName": "Jon",
"lastName": "Snow",
"email": "Jon@XXX.com",
"address": {
"name": "Primary",
"line1": "Anavriton XX",
"city": "Marousi",
"zipCode": "12XXX",
"countryCode": "GR",
},
}
- Add the address object in the contact field of the invoice payload as shown below:
{
"recipient": {
"organisation": {
"name": "ACME",
"legalName": "ACME",
"lineOfBusiness": "Independent software vendor (ISV)",
"taxCode": "ELXXXXXXXX",
"taxOffice": "XX' Athinon",
"currencyCode": "EUR",
"address": {
"line1": "Iakchou XX",
"city": "Athens",
"zipCode": "11XXX",
"countryCode": "GR",
"phone1": "+3021XXXXXXX"
},
"email": "info@acme.gr",
"website": "www.acme.gr",
"paymentMethods": []
},
"contact": {
"firstName": "Jon",
"lastName": "Snow",
"address": {
"name": "Primary",
"line1": "Anavriton XX",
"city": "Marousi",
"zipCode": "12XXX",
"countryCode": "GR"
}
}
}
}
Result Set:
We've added the option to only retrieve the count of a result set and not the actual dataset. This can be achieved by setting the 'Size' parameter to 0 (zero). Althought the general rule is to discard properties that have the default value, the 'count' property of the result set is always included in the response.
Subscription Status:
We've changed the numbering of subscription status, as shown below:
Enabled = 1,
Disabled = 2,
Deleted = 3