Offorte API Reference Docs - Version 2
Returns a paginated list of proposals by status (edit|open|won|lost|closed).
When the directory id is provided it will filter on that directory, if not all proposals for that status will be shown, including the proposals from any directory within that status.
Searching can be done by using the optional query parameter, the provided status will then be ignored.
You can sort the list using the optional sort query parameter, by default the list is sorted by name. Sort options: name, date_created, date_modified, date_openclient
[- {
- "account_user_id": 1,
- "contact_id": 1234,
- "contact_name": "Example Inc",
- "contact_person_fullname": "Chuck Norris",
- "contact_type": "organisation",
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-04-21T09:12:23.000000Z",
- "date_viewed": "2024-04-23T10:10:23.000000Z",
- "date_won": "2024-04-23T10:15:20.000000Z",
- "directory_id": 1,
- "id": 1234,
- "name": "Example proposal",
- "price_total": "€ 1000,00",
- "price_total_original": "1000.00",
- "price_total_override": null,
- "proposal_nr": "nr 007",
- "status": "open",
- "tags": [
- {
- "id": 2,
- "name": "prospect"
}
], - "version_id": 1234
}
]
{- "account_user_id": 1234,
- "account_user_name": "Don Johnson",
- "agree": {
- "formfields": [
- {
- "label": "Agree question",
- "value": "Some user input"
}
]
}, - "comments": [
- {
- "comment": "Are there no surprises in the costs?",
- "contact_name": "Example Inc",
- "contact_people_id": 1234,
- "date": "2024-03-22T08:26:46.000000Z",
- "firstname": "Chuck",
- "id": 1234,
- "lastname": "Norris",
- "type": "client"
}
], - "contact": {
- "account_user_id": 1234,
- "city": "Montague",
- "coc_number": "kvk12345",
- "contact_id": 1234,
- "country": "the Netherlands",
- "date_created": "2024-03-22T08:26:46.000000Z",
- "facebook": "facebook.com/example",
- "fax": "0761234567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "mobile": "(824) 274-3830",
- "name": "Example Inc",
- "owner": "Chuck Norris",
- "phone": "(788) 752-1845",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 2,
- "name": "prospect"
}
], - "twitter": "www.x.com",
- "type": "organisation",
- "vat_number": "NL123457",
- "zipcode": "4800AB"
}, - "content": {
- "pricetables": [
- {
- "id": "pricetable1",
- "rows": [
- {
- "content": "<p>Product Awesome</p>",
- "discount_type": "amount",
- "discount_value": 10,
- "id": 1234,
- "price": 100,
- "product_id": 990,
- "quantity": 3,
- "recurring_include_in_totals": true,
- "recurring_type": "month",
- "selectable": "check",
- "sku": "2452345",
- "subtotal": 300,
- "type": "price",
- "unique_id": "identifier-1234",
- "user_quantity": true,
- "user_selected": true,
- "vat_percentage": 21
}
], - "settings": {
- "rows_include_vat": false,
- "vat_default_percentage": 21,
- "vat_hidden": false
}, - "subtotal": 1000,
- "total": 100,
- "vat": [
- {
- "group_name": "Vat21",
- "percentage": 21,
- "total": 100
}
]
}
]
}, - "custom_fields": [
- {
- "name": "request_reason",
- "value": "Request for awesome services and products suited for your type of company."
}, - {
- "name": "customer_description",
- "value": "This is an example description of a customer which will be used to personalize the proposal"
}, - {
- "name": "introduction",
- "value": "<h2>Introduction</h2><p>This is an example introduction of a proposal which can be created with html and inserted into a proposal via the api</p>"
}
], - "date_modified": "2024-03-22T08:26:46.000000Z",
- "design_template_id": 1234,
- "directory_id": 1234,
- "emails": [
- {
- "date_sended": "2024-03-22T08:26:46.000000Z",
- "id": 1234,
- "message": "Dear {company_people_firstname}, hereby you receive our proposal for ...",
- "proposal_version_nr": 1234,
- "sended_by": "Johnny Vegas"
}
], - "id": 1234,
- "logs": {
- "history": [
- {
- "action": "proposal: viewed pdf",
- "date": "2024-03-22T08:26:46.000000Z",
- "person": "Chuck Norris",
- "type": "client"
}
], - "summary": {
- "last_modified_date": "2024-03-22T08:26:46.000000Z",
- "last_modified_user": "2024-03-22T08:26:46.000000Z",
- "pdf": 0,
- "recent_view": "2024-03-22T08:26:46.000000Z",
- "views": 2
}
}, - "name": "Proposal you can't refuse",
- "price_total": "$999.99",
- "price_total_original": "999.99",
- "price_total_override": null,
- "proposal_language": "nl",
- "proposal_nr": "nr 000142",
- "receivers": [
- {
- "fullname": "Chuck Norris",
- "id": 1234,
- "signature_allowed": true,
- "signature_required": true
}
], - "remarks": "Make some modifications as requested by Vegan Seagal",
- "status": "open",
- "tags": [
- {
- "id": 1,
- "name": "marketing"
}
], - "text_template_id": 1234
}
Create a new proposal.
Parameters
name | type | description |
---|---|---|
account_user_id | integer | The proposal is assigned to this user and will be send out in name of this user |
contact_people | array | List with contact_person_id's who are going to receive the proposal; These are the contacts belonging to an organisation who are going to receive the proposal. Make sure they got an email filled in. |
contact_id | integer | The proposal is assigned to this main contact id |
proposal_template_id | integer | The proposal template (favorite) id which is used to create the proposal. See Favorite templates list. |
design_template_id | integer | Design template id |
directory_id | integer | Optional directory id |
name | string | Name of the proposal |
price_total | float | Proposal value as calculated by pricetables |
status | string | Proposal status. Possible values: edit, open, won, lost, closed |
text_template_id | integer | Text template id (language template id) |
content | object | Content for the proposal (see below) |
custom_fields | array | Array of objects (see below) |
tags | array | Array of strings or objects. Existing tags will be assigned, new ones will be created |
Content: Pricetables
Optionally you have the option to add rows to pricetables. Make sure you updated the 'Unique ID' field through the pricetable settings in your proposal template. Then you can target this pricetable to add rows to.
Fields per row type:
type | fields |
---|---|
price | type, content, quantity, price, vat_percentage, selectable (false, check, radio), user_selected, user_quantity, discount_type (false, percentage, amount), discount_value, recurring_type (false, month, year), recurring_include_in_totals, hide_price, hide_quantity, unique_id, product_id, sku |
discount | type, content, discount_type (percentage, amount), discount_value |
subtotal | type, content |
title | type, content |
Custom Fields
Optionally you can include an array of objects containing values of custom fields. These values will show up in the proposal settings and if any of the custom field personalisation tags is being used in the proposal, those tags will be replaced by your values. This opens up the possibility to inject content into proposals via the API. Make sure to configure your fields in Offorte via Settings > Proposals > Custom Fields. There is no required fields validation done by the API.
Supported HTML elements: p, h1-h6, ul, ol, li, strong, em, hr. Any attributes (ie inline styles, classes, etc) are removed.
name | type |
---|---|
name | string |
value | string or html (based on your custom field config) |
account_user_id | number |
automations_set_id | number |
contact_id | number |
contact_people | Array of numbers |
object | |
Array of objects | |
design_template_id | number |
directory_id | number |
name | string |
proposal_template_id | number |
Array of objects or strings | |
text_template_id | number |
{- "account_user_id": 1234,
- "automations_set_id": 1234,
- "contact_id": 1234,
- "contact_people": [
- 1
], - "content": {
- "pricetables": [
- {
- "id": "pricetable1",
- "rows": [
- {
- "content": "<p>Product Awesome</p>",
- "discount_type": "amount",
- "discount_value": 10,
- "hide_price": true,
- "hide_quantity": true,
- "price": 100,
- "product_id": 990,
- "quantity": 3,
- "recurring_include_in_totals": true,
- "recurring_type": "month",
- "selectable": "check",
- "sku": "2452345",
- "type": "price",
- "unique_id": "identifier-1234",
- "user_quantity": true,
- "user_selected": true,
- "vat_percentage": 21
}
]
}
]
}, - "custom_fields": [
- {
- "name": "request_reason",
- "value": "Request for awesome services and products suited for your type of company."
}, - {
- "name": "customer_description",
- "value": "This is an example description of a customer which will be used to personalize the proposal"
}, - {
- "name": "introduction",
- "value": "<h2>Introduction</h2><p>This is an example introduction of a proposal which can be created with html and inserted into a proposal via the api</p>"
}
], - "design_template_id": 1234,
- "directory_id": 1234,
- "name": "Proposal you can't refuse",
- "proposal_template_id": 1234,
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "text_template_id": 1234
}
{- "id": 1234,
- "version_id": 1234
}
Send a proposal
Parameters
name | type | description |
---|---|---|
password_reset | boolean | Optional: Reset the existing passwords when proposal was send before |
send_method | string | Optional: Choose if you want to send it through Offorte or send the proposal your self. Defaults to 'offorte'. Possible values: offorte,self |
send_message | string | The actual message you want to send in plain text. If not provided you must provide the 'send_message_id' |
send_message_id | integer | The id of the email template you want to use as the accompanying message |
send_message_id | number |
{- "send_message_id": 1234
}
{- "receivers": [
- {
- "fullname": "Ainsley Shepherd",
- "id": 1234,
}, - {
- "fullname": "Adam Foreman",
- "id": 5678,
}
]
}
Updates the proposal details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters
name | type | description |
---|---|---|
account_user_id | integer | The proposal is assigned to this user and will be send out in name of this user |
contact_people | array | List with contact people id's who are going to receive the proposal; Make sure they got an email filled in |
contact_id | integer | The proposal is assigned to this contact |
design_template_id | integer | Design template id |
directory_id | integer | Directory id |
name | string | Name of the proposal |
price_total | float | Proposal value as calculated by pricetables |
status | string | Proposal status. Possible values: edit, open, won, lost, closed |
text_template_id | integer | Text template id |
tags | array | Array of strings or objects. Existing tags will be assigned, new ones will be created |
custom_fields | array | Array of objects (see below) |
Custom Fields
Optionally you can include an array of objects containing values of custom fields. These values will show up in the proposal settings and if any of the custom field personalisation tags is being used in the proposal, those tags will be replaced by your values. This opens up the possibility to inject content into proposals via the API. Make sure to configure your fields in Offorte via Settings > Proposals > Custom Fields. There is no required fields validation done by the API.
Supported HTML elements: p, h1-h6, ul, ol, li, strong, em, hr. Any attributes (ie inline styles, classes, etc) are removed.
name | type |
---|---|
name | string |
value | string or html (based on config) |
account_user_id | number |
contact_id | number |
contact_people | Array of numbers |
Array of objects | |
design_template_id | number |
directory_id | number |
name | string |
price_total | number |
status | string |
Array of objects or strings | |
text_template_id | number |
{- "account_user_id": 1234,
- "contact_id": 1234,
- "contact_people": [
- 1
], - "custom_fields": [
- {
- "name": "request_reason",
- "value": "Request for awesome services and products suited for your type of company."
}, - {
- "name": "customer_description",
- "value": "This is an example description of a customer which will be used to personalize the proposal"
}, - {
- "name": "introduction",
- "value": "<h2>Introduction</h2><p>This is an example introduction of a proposal which can be created with html and inserted into a proposal via the api</p>"
}
], - "design_template_id": 1234,
- "directory_id": 1234,
- "name": "Proposal you can't refuse",
- "price_total": 999.99,
- "status": "won",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "text_template_id": 1234
}
{- "status": "200 OK"
}
Returns a list of proposal favorites (templates).
_Deprecated fields:_type,config_language_id,proposal_tpl_id
Custom Fields
When a template has used any of the global defined custom fields the fields will be included in the details of the template.
When a proposal contains custom field personalisation tags and values, they will show up in the proposal settings and those tags will be replaced by your values in the proposal itself. This opens up the possibility to inject content into proposals via the API. Make sure to configure your fields in Offorte via Settings > Proposals > Custom Fields. There is no required fields validation done by the API.
Supported HTML elements: p, h1-h6, ul, ol, li, strong, em, hr. Any attributes (ie inline styles, classes, etc) are removed.
[- {
- "automations_set_id": 1234,
- "design_template_id": 1234,
- "id": 1234,
- "name": "My favorite proposal",
- "text_template_id": 1234
}, - {
- "automations_set_id": 1234,
- "custom_fields": [
- {
- "label": "Proposal Request Reason",
- "name": "request_reason",
- "required": true,
- "type": "text"
}, - {
- "label": "Short customer description",
- "name": "customer_description",
- "required": true,
- "type": "textarea"
}, - {
- "label": "Custom Introduction",
- "name": "introduction",
- "required": true,
- "type": "html"
}
], - "design_template_id": 1234,
- "id": 12345,
- "name": "Favorite proposal with custom fields",
- "text_template_id": 1234
}
]
Returns a list of proposal directories as created in the interface (sidemenu navigation) by users.
{- "closed": [
- {
- "id": 7,
- "name": "Some folder"
}
], - "edit": [
- {
- "id": 1,
- "name": "Work in progress"
}, - {
- "id": 2,
- "name": "Ready to send"
}
], - "lost": [
- {
- "id": 6,
- "name": "Archive"
}
], - "open": [
- {
- "id": 3,
- "name": "Expired - Follow up"
}, - {
- "id": 4,
- "name": "Needs processing"
}
], - "won": [
- {
- "id": 5,
- "name": "Archive"
}
]
}
Returns a paginated list of contacts of type organisation.
Searching on name can be done by using the optional query
parameter
Contact tags and custom fields are only included in the contact details request and not included in the list
[- {
- "account_user_id": 1,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "date_created": "2024-03-23T09:43:59.481776Z",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "people": [
- {
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 7,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
], - "phone": "+31 76 12344567",
- "proposals_open": 0,
- "proposals_won": 0,
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
]
Returns a paginated list of contacts of type person.
Searching on name can be done by using the optional query
parameter
Contact tags and custom fields are only included in the contact details request and not included in the list
[- {
- "account_user_id": 3,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "date_created": "2024-03-23T04:26:46.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "organisation": "",
- "phone": "+31 76 12344567",
- "proposals_open": 0,
- "proposals_won": 1,
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "type": "person",
- "zipcode": "4800AA"
}
]
{- "account_user_id": 1,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "date_created": "2010-03-23T09:22:28.000000Z",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "people": [
- {
- "city": "Breda",
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 19,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
], - "phone": "+31 76 12344567",
- "proposals": [
- {
- "account_user_id": 3,
- "contact_name": "Dvotion 77",
- "contact_person_fullname": "",
- "date_created": "2010-03-23T09:22:28.000000Z",
- "id": 1234,
- "name": "Example proposal",
- "price_total": "€ 2.490,00",
- "proposal_nr": "nr 000183",
- "status": "edit",
- "total_price": "2490.00",
- "total_price_override": "",
- "version_id": 180480
}
], - "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "marketing"
}
], - "twitter": "x.nl",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
Updates the main contact details with the provided attributes. Other (unprovided) attributes remain unchanged.
Parameters
name | type | description |
---|---|---|
name | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
fax | string | type: organisation |
coc_number | string | type: organisation |
vat_number | string | type: organisation |
firstname | string | type: person |
lastname | string | type: person |
salutation | string | type: person |
mobile | string | type: person |
tags | array | Array of strings or objects. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
city | string |
coc_number | string |
country | string |
custom_specialism | string |
string | |
string | |
fax | string |
string | |
internet | string |
string | |
name | string |
phone | string |
state | string |
street | string |
Array of objects or strings | |
string | |
vat_number | string |
zipcode | string |
{- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "custom_specialism": "training",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "phone": "+31 76 12344567",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "twitter": "twitter.com/example",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
{- "status": "200 OK"
}
Creates a new main contact of type organisation
Parameters
name | type | description |
---|---|---|
name | string | required |
type | string | value: organisation (required) |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
fax | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
coc_number | string | |
vat_number | string | |
tags | array | Array of strings or objects. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
city | string |
country | string |
custom_hobby | string |
string | |
string | |
firstname | string |
string | |
internet | string |
lastname | string |
string | |
mobile | string |
name | string |
phone | string |
salutation | string |
state | string |
street | string |
tags | Array of strings |
string | |
type | string |
zipcode | string |
{- "city": "Breda",
- "coc_number": "kvk12345678",
- "country": "the Netherlands",
- "custom_specialism": "training",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "phone": "+31 76 12344567",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- "sales"
], - "twitter": "twitter.com/example",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
{- "account_user_id": 1,
- "account_user_name": "John Knowles",
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris1",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "name": "Chuck Norris",
- "phone": "+31 76 12344567",
- "proposals": [ ],
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "twitter": "twitter.com/example",
- "type": "person",
- "zipcode": "4800AA"
}
Returns a paginated list of the people in an organisation
Contact tags and custom fields are only included in the contact details request and not included in the list
[- {
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 0,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
]
Creates a new person in an organisation.
Parameters
name | type | description |
---|---|---|
name | string | required |
firstname | string | |
lastname | string | |
salutation | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
mobile | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
tags | array | Array of strings. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
city | string |
country | string |
string | |
string | |
firstname | string |
fullname | string |
internet | string |
lastname | string |
string | |
mobile | string |
phone | string |
salutation | string |
state | string |
street | string |
string | |
zipcode | string |
{- "city": "Breda",
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
{- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris1",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
{- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_description": false,
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
Updates the organisation person details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters
name | type | description |
---|---|---|
name | string | |
firstname | string | |
lastname | string | |
salutation | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
mobile | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
tags | array | Array of strings or objects. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
city | string |
country | string |
custom_hobby | string |
string | |
string | |
firstname | string |
string | |
internet | string |
lastname | string |
string | |
mobile | string |
name | string |
phone | string |
salutation | string |
state | string |
street | string |
Array of objects or strings | |
string | |
zipcode | string |
{- "city": "Breda",
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "name": "Chuck Norris",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}, - "Some new tag"
], - "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
{- "status": "200 OK"
}
[- {
- "descr_short": "This is a description",
- "id": 1234,
- "name": "Example Inc",
- "price": "1000.00",
- "recurring": "month",
- "selectable": "check",
- "sku": "abc12345678",
- "vat_id": 1234,
- "vat_percentage": "21.00"
}
]
Creates a new product.
Parameters details
name | type | description |
---|---|---|
sku | string | |
price | float | |
vat_id | integer | |
selectable | string | Row is optional to choose by the customer. Check is multiple choice, Radio is single choice. Types: check, radio, false |
recurring | string | Row is recurring and from type: month, year |
name | string | |
descr_short | string |
_Deprecated fields:_optional.
descr_short | string |
name | string |
price | number |
recurring | string |
selectable | string |
sku | number |
vat_id | number |
{- "descr_short": "Hello here is my descr",
- "name": "API some new product",
- "price": 3000,
- "recurring": "month",
- "selectable": "radio",
- "sku": 1234,
- "vat_id": 7
}
{- "product_id": 1234
}
Updates the product with the provided attributes.
Parameters details
name | type | description |
---|---|---|
sku | string | |
price | float | |
vat_id | integer | |
selectable | string | Row is optional to choose by the customer. Check is multiple choice, Radio is single choice. Types: check, radio, false |
recurring | string | Row is recurring and from type: month, year |
name | string | |
descr_short | string |
_Deprecated fields:_optional.
descr_short | string |
directory_id | number |
name | string |
price | string |
recurring | string |
selectable | string |
sku | string |
vat_id | number |
{- "descr_short": "This is a description",
- "directory_id": 1,
- "name": "Example Inc",
- "price": "1000",
- "recurring": "month",
- "selectable": "check",
- "sku": "abc12345678",
- "vat_id": 1
}
true
[- {
- "date_lastlogin": "2024-03-23T08:26:24.000000Z",
- "firstname": "Chuck",
- "id": 1234,
- "jobtitle": "CEO",
- "lastname": "Norris",
- "phone": "+31 76 12344567"
}
]
[- {
- "active": true,
- "api_version": 2,
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_failed": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-03-22T08:26:46.000000Z",
- "events": [
- "contact_created"
], - "id": 1234,
- "payload_content_type": "json",
- "payload_url": "example.com/incoming"
}
]
Creates a new webhook
Parameters details
name | type | desscription |
---|---|---|
payload_url | string | Url where the data will be posted to; must be a full https url |
payload_content_type | string | Content type header: json |
active | boolean | Is it active or not |
events | array | Events to subscribe to |
active | boolean |
events | Array of strings |
payload_content_type | string |
payload_url | string |
{- "active": true,
- "events": [
- "contact_created",
- "contact_updated",
- "contact_deleted",
- "contact_person_created",
- "contact_person_updated",
- "contact_person_deleted",
- "proposal_created",
- "proposal_details_updated",
- "proposal_deleted",
- "proposal_send",
- "proposal_won",
- "proposal_lost",
- "proposal_viewed",
- "proposal_comment_received",
- "product_directory_created",
- "product_directory_updated",
- "product_directory_deleted",
- "product_created",
- "product_updated",
- "product_deleted"
], - "payload_content_type": "json",
- "payload_url": "example.com/incoming"
}
{- "webhook_id": 1
}
{- "active": true,
- "api_version": 2,
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_failed": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-03-22T08:26:46.000000Z",
- "events": [
- "contact_created"
], - "id": 1,
- "payload_content_type": "json",
- "payload_url": "example.com/incoming"
}
Updates the webhook details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters details
name | type | desscription |
---|---|---|
payload_url | string | Url where the data will be posted to; must be a full https url |
payload_content_type | string | Content type header: json |
active | boolean | Is it active or not |
events | array | Events to subscribe to |
active | boolean |
events | Array of strings |
payload_content_type | string |
payload_url | string |
{- "active": true,
- "events": [
- "contact_created"
], - "payload_content_type": "xform",
- "payload_url": "example.com/incoming"
}
{- "status": "200 OK"
}