### Get Contacts Request Example Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Use this cURL command to retrieve a list of contacts. It includes parameters for fetching associated metadata and reservations. ```curl curl --location 'https://api.camping.care/v21/contacts?get_meta=1&get_reservations=true&get_reservation_payment_terms=true&get_invoices=true&get_invoice_payments=true&offset=0&limit=1&order=null&order_by=null' ``` -------------------------------- ### Get Contact Response Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Example JSON response for a successful contact retrieval. Includes contact information and nested meta, reservations, and invoices objects. ```json { "id": "24522", "contact_id": 2001129, "admin_id": 6339, "name": "John Doe", "created": "2021-08-18 21:17:32", "status": "active", "meta": { "company": "", "gender": "", "first_name": "John", "last_name": "Doe", "address": "Some street", "address_number": 1, "zipcode": "12345AA", "city": "London", "email": "a@b.nl" }, "reservations": [], "invoices": [] } ``` -------------------------------- ### Get Workflow via GET Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves details for a specific workflow by ID. ```curl curl --location 'https://api.camping.care/v21/workflows/3?get_items=true' ``` -------------------------------- ### Get Current Country Response Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Example JSON response for the Get Current Country endpoint, returning a string representing the country code. ```json "NL" ``` -------------------------------- ### Add Contact Response Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Example JSON response after successfully adding a contact. Includes the newly created contact's details. ```json { "id": 24522, "contact_id": 2001129, "admin_id": 6339, "name": "", "created": "2021-08-18 21:17:32", "status": "active", "meta": { "company": "", "gender": "", "first_name": "John", "last_name": "Doe", "address": "Some street", "address_number": 1, "zipcode": "12345AA", "city": "London", "email": "a@b.nl" }, "reservations": [], "invoices": [] } ``` -------------------------------- ### Contact Update Response Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Example JSON response body returned after a successful contact update. ```json { "id": 24522, "contact_id": 2001129, "admin_id": 6339, "name": "", "created": "2021-08-18 21:17:32", "status": "active", "meta": { "company": "", "gender": "male", "first_name": "Johnie", "last_name": "Doe", "address": "Some street", "address_number": 1, "zipcode": "12345AA", "city": "London", "email": "a@b.nl" }, "reservations": [], "invoices": [] } ``` -------------------------------- ### GET /v21/contacts/mapping/cities Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of cities for a given country and province code. ```APIDOC ## GET /v21/contacts/mapping/cities ### Description Retrieves a list of cities based on the provided country and province codes. ### Method GET ### Endpoint https://api.camping.care/v21/contacts/mapping/cities ### Parameters #### Query Parameters - **country_code** (string) - Required - The country code (e.g., 'es', 'it'). - **province_code** (string) - Required - The province code (e.g., '098'). ### Request Example curl --location 'https://api.camping.care/v21/contacts/mapping/cities?country_code=it&province_code=098' ``` -------------------------------- ### GET /reservations Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of reservation objects containing details about the booking, guest meta information, and associated accommodation/place data. ```APIDOC ## GET /reservations ### Description Retrieves a list of reservation records. ### Method GET ### Endpoint /reservations ### Response #### Success Response (200) - **reservation_id** (integer) - Unique identifier for the reservation - **admin_id** (integer) - ID of the administrator - **contact_id** (integer) - ID of the contact - **accommodation_id** (integer) - ID of the accommodation - **place_id** (integer) - ID of the place - **status** (string) - Current status of the reservation - **payment** (string) - Payment status - **arrival** (string) - Arrival date and time - **departure** (string) - Departure date and time - **meta** (object) - Metadata containing guest details, address, and payment info - **rows** (array) - List of items or products associated with the reservation - **accommodation** (object) - Details of the accommodation - **place** (object) - Details of the place ``` -------------------------------- ### GET /v21/contacts Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of contacts for the administration with optional related data. ```APIDOC ## GET /v21/contacts ### Description Get a list of contacts for this administration. ### Method GET ### Endpoint https://api.camping.care/v21/contacts ### Parameters #### Query Parameters - **get_meta** (boolean) - Optional - Include metadata - **get_reservations** (boolean) - Optional - Include reservations - **get_reservation_payment_terms** (boolean) - Optional - Include reservation payment terms - **get_invoices** (boolean) - Optional - Include invoices - **get_invoice_payments** (boolean) - Optional - Include invoice payments - **offset** (integer) - Optional - Pagination offset - **limit** (integer) - Optional - Pagination limit - **count** (integer) - Optional - Count - **order** (string) - Optional - Order direction - **order_by** (string) - Optional - Field to order by - **search** (string) - Optional - Search query ### Request Example curl --location 'https://api.camping.care/v21/contacts?get_meta=1&get_reservations=true&get_reservation_payment_terms=true&get_invoices=true&get_invoice_payments=true&offset=0&limit=1&order=null&order_by=null' ### Response #### Success Response (200) - **id** (string) - Contact ID - **contact_id** (integer) - Internal contact ID - **admin_id** (integer) - Administration ID - **name** (string) - Contact name - **created** (string) - Creation timestamp - **status** (string) - Contact status - **meta** (object) - Contact metadata - **reservations** (array) - List of reservations #### Response Example [ { "id": "23337", "contact_id": 2000001, "admin_id": 6339, "name": "Roel massselink", "created": "2020-12-17 12:20:39", "status": "active", "meta": { "first_name": "Roel", "last_name": "massselink", "email": "arjen@camping.care" } } ] ``` -------------------------------- ### Get Cities via cURL Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of cities for a specified country and province code. ```curl curl --location 'https://api.camping.care/v21/contacts/mapping/cities?country_code=it&province_code=098' ``` -------------------------------- ### Example Contact Response Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a This JSON structure represents a single contact object returned by the API. It includes detailed meta information and associated reservations. ```json [ { "id": "23337", "contact_id": 2000001, "admin_id": 6339, "name": "Roel massselink", "created": "2020-12-17 12:20:39", "status": "active", "meta": { "company": "", "first_name": "Roel", "last_name": "massselink", "zipcode": null, "city": null, "address": null, "address_number": null, "email": "arjen@camping.care", "country": "NL", "phone": null, "phone_mobile": 4231, "vat_number": 123412341231234, "country_origin": "", "id_nr": null, "reservation_count": 80, "inv_count_invoice_active": 66, "gender": "male", "birthday": "1986-01-25" }, "reservations": [ { "id": "3481", "reservation_id": 682, "admin_id": 6339, "contact_id": 23337, "accommodation_id": 10174, "place_id": 11457, "channel_id": 1, "status": "pending", "payment": "unpaid", "arrival": "2021-08-23 12:00:00", "departure": "2021-08-25 11:59:59", "create_date": "2021-08-13 19:53:30", "draft_id": "qhw12mg9huywwwerzh", "total": 100.83, "meta": { "currency": "EUR", "discount_card": 0, "age_table_input": [ { "id": 14709, "count": 2 }, { "id": 14710, "count": 0 }, { "id": 14712, "count": 0 } ], "persons": 2, "pay_on_location": 10, "subtotal": 60.83, "deposit_total": 64.66, "pay_method": "banktransfer", "email": "arjen@camping.care", "first_name": "Roel", "last_name": "massselink", "country": "NL", "birthday": "1986-01-25", "note_guest": "", "custom_field_257": "", "hash": "hc8BfWstDWlOchu7lESfCLLMQHXVnJ5TvPkWl", "language": "en", "normal_invoice_id": 508, "saved_options": [ [ "2010", 1 ], [ "2015", 1 ] ], "source": "online", "user_ip": "127.0.0.1", "paid": 0 }, "rows": [ { "id": 23745, "row_id": 3481, "type": "product_id", "type_id": 10174, "description": "Camping", "amount": 1, "total": 0, "data": "null", "translations": [] }, { "id": 23746, "row_id": 3481, "type": "product_price", "type_id": 1160, "description": "Price (Duplicate)", "amount": 2, "total": 10, "data": "{\"start_date\":\"2021-08-23\",\"end_date\":\"2021-08-25\"}", "translations": [] }, { "id": 23747, "row_id": 3481, "type": "product_tax", "type_id": 1802, "description": "Tourist tax", "amount": 1, "total": 1.83, "data": "[]", "translations": [] }, { "id": 23748, "row_id": 3481, "type": "product_option", "type_id": 2010, "description": "Reservation Costs", "amount": 1, "total": 50, "data": "{\"price_id\":1160,\"included_amount\":0}", "translations": [] }, { "id": 23749, "row_id": 3481, "type": "product_option", "type_id": 2015, "description": "Gratis Bedlinnen", "amount": 2, "total": 10, "data": "{\"pay_on_location\":1,\"included_amount\":0}", "translations": [] }, { "id": 23750, "row_id": 3481, "type": "product_discount", "type_id": 0, "description": "5%", "amount": 1, "total": -1, "data": "{\"price_id\":1160}", "translations": [] } ], "contact": [] } ] } ] ``` -------------------------------- ### GET /invoices Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of invoices. The response includes details for each invoice, such as its ID, associated contact, status, and financial breakdown. ```APIDOC ## GET /invoices ### Description Retrieves a list of invoices. The response includes details for each invoice, such as its ID, associated contact, status, and financial breakdown. ### Method GET ### Endpoint /invoices ### Parameters #### Query Parameters - **status** (string) - Optional - Filter invoices by their status (e.g., "unpaid"). - **contact_id** (integer) - Optional - Filter invoices by the associated contact ID. ### Response #### Success Response (200) - **id** (string) - The unique identifier for the invoice. - **invoice_id** (integer) - The invoice number. - **contact_id** (integer) - The ID of the contact associated with the invoice. - **admin_id** (integer) - The ID of the administrator who created the invoice. - **reservation_id** (integer) - The ID of the reservation associated with the invoice, if any. - **status** (string) - The current status of the invoice (e.g., "unpaid", "paid"). - **type** (string) - The type of the document (e.g., "invoice"). - **subtotal** (number) - The subtotal amount before taxes. - **vat** (number) - The amount of Value Added Tax. - **total** (number) - The total amount including taxes. - **currency** (string) - The currency of the amounts (e.g., "EUR"). - **create_date** (string) - The date the invoice was created (YYYY-MM-DD). - **contact_name** (string) - The name of the contact person. - **meta** (object) - Additional metadata, can be null. - **rows** (array) - An array of line items for the invoice. - **contact** (object) - Detailed contact information, can be null. - **payments** (array) - An array of payment records associated with the invoice. - **reservation** (object) - Details of the reservation, can be null. #### Response Example ```json [ { "id": "397", "invoice_id": 202000256, "contact_id": 23337, "admin_id": 6339, "reservation_id": 3357, "status": "unpaid", "type": "invoice", "subtotal": 103.67, "vat": 8.83, "total": 112.5, "currency": "EUR", "create_date": "2021-06-15", "contact_name": "Roel massselink", "meta": null, "rows": [], "contact": null, "payments": [], "reservation": null } ] ``` ``` -------------------------------- ### GET /v21/contacts/current_country Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves the current country of a guest. ```APIDOC ## GET /v21/contacts/current_country ### Description Get the current country of a guest (contact). ### Method GET ### Endpoint https://api.camping.care/v21/contacts/current_country ### Response #### Success Response (200) - **country_code** (string) - The ISO country code. #### Response Example "NL" ``` -------------------------------- ### GET /v21/contacts/mapping/provinces Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of provinces or municipals for a given country code. ```APIDOC ## GET /v21/contacts/mapping/provinces ### Description Retrieves a list of provinces or municipals for a specified country. ### Method GET ### Endpoint https://api.camping.care/v21/contacts/mapping/provinces ### Parameters #### Query Parameters - **country_code** (string) - Required - The country code (e.g., 'es', 'it'). ### Request Example curl --location 'https://api.camping.care/v21/contacts/mapping/provinces?country_code=it' ``` -------------------------------- ### Get Provinces/Municipals via cURL Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a list of provinces or municipals for a specified country code. ```curl curl --location 'https://api.camping.care/v21/contacts/mapping/provinces?country_code=it' ``` -------------------------------- ### Get Workflow API Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a specific workflow by its ID. Optionally includes associated items. ```APIDOC ## GET /v21/workflows/{id} ### Description Retrieves a specific workflow by its ID. Optionally includes associated items. ### Method GET ### Endpoint https://api.camping.care/v21/workflows/{id} ### Parameters #### Path Parameters - **id** (numeric) - Required - The ID of the workflow to retrieve. #### Query Parameters - **get_items** (boolean) - Optional - If true, includes items associated with the workflow. ### Request Example ```bash curl --location 'https://api.camping.care/v21/workflows/3?get_items=true' ``` ### Response No response body or headers are returned for this request. ``` -------------------------------- ### GET /v21/contacts/:contact_id Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves details for a specific contact by their unique ID. ```APIDOC ## GET /v21/contacts/:contact_id ### Description Get a single contact by id. ### Method GET ### Endpoint https://api.camping.care/v21/contacts/:contact_id ### Parameters #### Path Parameters - **contact_id** (integer) - Required - The unique identifier of the contact. #### Query Parameters - **get_reservations** (boolean) - Optional - Include reservations in response. - **get_invoices** (boolean) - Optional - Include invoices in response. - **get_meta** (boolean) - Optional - Include meta information in response. ### Response #### Success Response (200) - **id** (string) - Contact ID - **contact_id** (integer) - Internal contact ID - **name** (string) - Full name of the contact - **meta** (object) - Metadata including address and contact details #### Response Example { "id": "24522", "contact_id": 2001129, "name": "John Doe", "meta": { "first_name": "John", "last_name": "Doe" } } ``` -------------------------------- ### Get Contact by ID Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves a single contact's details, optionally including associated reservations, invoices, and metadata. Ensure the contact ID is valid. ```bash curl --location 'https://api.camping.care/v21/contacts/340?get_meta=1&get_reservations=1&get_invoices=1' ``` -------------------------------- ### Get Current Country Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Retrieves the current country associated with the guest (contact). This endpoint requires authentication. ```bash curl --location 'https://api.camping.care/v21/contacts/current_country' ``` -------------------------------- ### API Error Response Example Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d This JSON structure represents a typical error response from the Camping.care API. The 'code' field is currently unused, while the 'message' field provides details about the occurred error. ```json { "error": { "code": 1, "message": "No accommodation found Accommodation::get" } } ``` -------------------------------- ### API Authentication and Rate Limiting Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Overview of how to authenticate requests using API keys or OAuth2 and how to interpret rate limit headers. ```APIDOC ## Authentication ### Description All API requests must be made over HTTPS. Authentication is handled via API keys or OAuth2. ### API Keys - Include your API key in the request headers. - Each key is tied to a specific Administration. - For multi-park access, use the `X-Admin-Id` header. ### OAuth2 - Used for apps in the appstore. - The `X-Admin-Id` header is required for identifying the administration. ## Rate Limiter ### Description Requests are limited to 120 per minute. Exceeding this limit returns a 429 status code. ### Response Headers - **X-Ratelimit-Limit**: Total requests allowed per minute. - **X-Ratelimit-Remaining**: Number of requests remaining in the current window. ``` -------------------------------- ### Add Workflow via POST Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Creates a new workflow using form-data parameters. ```curl curl --location 'https://api.camping.care/v21/workflows' \ --form 'name="New reservation"' \ --form 'trigger="reservation_created"' ``` -------------------------------- ### Add Contact Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Adds a new contact to the system. You can provide initial details or leave fields empty. All provided data will be added to the new contact. ```bash curl --location 'https://api.camping.care/v21/contacts' \ --form 'gender=""' \ --form 'first_name="John"' \ --form 'last_name="Doe"' \ --form 'address="Some street"' \ --form 'address_number="1"' \ --form 'zipcode="12345AA"' \ --form 'city="London"' \ --form 'country="EN"' \ --form 'company=""' \ --form 'email="a@b.nl"' ``` -------------------------------- ### POST /v21/contacts Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Creates a new contact record with provided details. ```APIDOC ## POST /v21/contacts ### Description Add either an empty contact or add parameters to a contact. All provided data will be added to the new contact. ### Method POST ### Endpoint https://api.camping.care/v21/contacts ### Parameters #### Request Body - **first_name** (string) - Optional - **last_name** (string) - Optional - **address** (string) - Optional - **address_number** (integer) - Optional - **zipcode** (string) - Optional - **city** (string) - Optional - **country** (string) - Optional - **email** (string) - Optional ### Response #### Success Response (200) - **id** (integer) - The created contact ID - **status** (string) - Status of the contact #### Response Example { "id": 24522, "status": "active" } ``` -------------------------------- ### Add Workflow API Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Creates a new workflow with a specified name and trigger event. ```APIDOC ## POST /v21/workflows ### Description Creates a new workflow with a specified name and trigger event. ### Method POST ### Endpoint https://api.camping.care/v21/workflows ### Parameters #### Request Body - **name** (string) - Required - The name of the new workflow. - **trigger** (string) - Required - The event that triggers the workflow. Possible values: 'reservation_created', 'arrival', 'departure', 'checkedin', 'checkedout', 'confirmed', 'canceled', 'invoice_created', 'invoice_finalized', 'payment_created', 'payment_term', 'contact_created', 'code_created', 'code_deleted', 'licence_plate_created', 'license_plate_deleted'. ### Request Example ```bash curl --location 'https://api.camping.care/v21/workflows' \ --form 'name="New reservation"' \ --form 'trigger="reservation_created"' ``` ### Response No response body or headers are returned for this request. ``` -------------------------------- ### Error Handling Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Standardized error response format for the Camping.care API. ```APIDOC ## Error Response ### Description Standard JSON error structure returned when a request fails. ### Response Example { "error": { "code": 1, "message": "No accommodation found Accommodation::get" } } ### Attributes - **code** (int) - Internal error code (currently unused). - **message** (string) - Descriptive message explaining the error. ``` -------------------------------- ### Camping.care V2 API Reference Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d The Camping.care API V2 is a RESTful API that uses standard HTTP methods and response codes. It supports authentication via API keys or OAuth2. ```APIDOC ## Camping.care V2 API Reference The Camping.care API V2 is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. ### API Keys The Camping.care API uses API keys to authenticate requests. You can view and manage your API keys in the Camping.care V2 Dashboard. Each API key can have it's own set of rights, these rights can be setup from the API section in the camping.care dashboard. Each API key belongs to a specific Admnistration. **Single API Key for multiple administrations** This can be achieved in a group account or as an OTA. Ask camping.care if you can setup multipark access. Camping.care can also manages multiple administrations with a single API key, therefore you must be setup as an OTA. In the documentation we also reference special **OTA parameters. These parameters have to be ignored by the normal API usage or user the X-Admin-Id as header parameters Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail. ### OAuth2 Apps in the appstore use the OAuth2 flow to access the api. For more information about the OAuth flow: https://developer.camping.care/docs/appstore/authentication The admin id should be added as a header parameter: X-Admin-Id ## **Rate Limiter** Camping.care API version 2.1.3 has included a rate limiter. It is now limited on 120 request per minute. The rate limiter will sned you a Status code: 429 error when you reached your rate limit. You can also see how many request are done in the last minute by checking thee response headers: X-Ratelimit-Limit: The amount of requests which can be done X-Ratelimit-Remaining: The amount of requests you still have remaining ## Errors Camping.care uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the 5xx range indicate an error with Camping.care servers (these are rare). Some 4xx errors that could be handled programmatically #### Code response ```json { "error": { "code": 1, "message": "No accommodation found Accommodation::get" } } ``` #### Attributes attribute / type | description ---|--- _code_ | The error code is not used at the moment and can be ignored. **int** | attribute / type | description ---|--- _message_ | The error message contains the error which occured. The message contains information about the error, if a error message is unexpected and cannot logically being solved, you could contact support with the error information you get. **string** | ### Examples We have prepared examples for all calls, sometimes there are multiple examples available per call. We also provide examples which are going wrong and this shows the response in case of an error. AUTHORIZATIONBearer Token Token ``` -------------------------------- ### Invoice Object Structure Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Represents a single invoice with its associated details and payment information. ```APIDOC ## GET /invoices/{id} ### Description Retrieves details of a specific invoice. ### Method GET ### Endpoint /invoices/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the invoice. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the invoice. - **invoice_id** (integer) - The internal invoice number. - **contact_id** (integer) - The ID of the associated contact. - **admin_id** (integer) - The ID of the administrator who created the invoice. - **reservation_id** (integer) - The ID of the associated reservation, if any. - **status** (string) - The current status of the invoice (e.g., "unpaid", "partly_paid"). - **type** (string) - The type of document (e.g., "invoice"). - **subtotal** (float) - The subtotal amount before VAT. - **vat** (float) - The Value Added Tax amount. - **total** (float) - The total amount including VAT. - **currency** (string) - The currency of the invoice (e.g., "EUR"). - **create_date** (string) - The date the invoice was created (YYYY-MM-DD). - **contact_name** (string) - The name of the contact person. - **meta** (object) - Additional metadata, can be null. - **rows** (array) - An array of line items for the invoice. - **contact** (object) - Detailed contact information, can be null. - **payments** (array) - An array of payment records associated with the invoice. - **reservation** (object) - Details of the associated reservation, can be null. #### Response Example { "id": "108", "invoice_id": 202000062, "contact_id": 23337, "admin_id": 6339, "reservation_id": 2822, "status": "unpaid", "type": "invoice", "subtotal": 19.25, "vat": 1.67, "total": 20.92, "currency": "EUR", "create_date": "2021-01-15", "contact_name": "Arjen de Lat", "meta": null, "rows": [], "contact": null, "payments": [], "reservation": null } ``` -------------------------------- ### Payment Object Structure Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Details of a payment made towards an invoice or other transaction. ```APIDOC ## Payment Details ### Description Represents a single payment transaction, often associated with an invoice. ### Fields - **id** (integer) - The unique identifier for the payment. - **admin_id** (integer) - The ID of the administrator processing the payment. - **type** (string) - The type of transaction this payment is for (e.g., "invoice"). - **type_id** (integer) - The ID of the transaction this payment is associated with (e.g., invoice ID). - **pay_method** (string) - The method used for payment (e.g., "banktransfer", "pin", "check"). - **amount** (float) - The amount paid. - **pay_date** (string) - The date and time the payment was made (YYYY-MM-DD HH:MM:SS). - **data** (string) - Additional data related to the payment, often a JSON string. ### Example { "id": 26, "admin_id": 6339, "type": "invoice", "type_id": 53, "pay_method": "banktransfer", "amount": 100, "pay_date": "2021-01-15 12:00:00", "data": "{\"finalized\":{\"datev\":{\"type\":\"export\",\"date\":\"2021-03-21 12:11:14\"}}}" } ``` -------------------------------- ### Update Contact API Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Updates an existing contact. Only the provided parameters will be updated. ```APIDOC ## PUT /v21/contacts/{id} ### Description Updates an existing contact. Only the provided parameters will be updated. ### Method PUT ### Endpoint https://api.camping.care/v21/contacts/{id} ### Parameters #### Path Parameters - **id** (numeric) - Required - The internal contact number of the campsite. #### Query Parameters - **contact_id** (numeric) - Optional - The internal contact number of the campsite. - **gender** (string) - Optional - The gender of the contact. - **first_name** (string) - Optional - The first name of the contact. - **last_name** (string) - Optional - The last name of the contact. - **address** (string) - Optional - The address of the contact. - **address_number** (string) - Optional - The address number of the contact. - **zipcode** (string) - Optional - The zipcode of the contact. - **city** (string) - Optional - The city of the contact. - **country** (string) - Optional - The country of the contact. - **company** (string) - Optional - The company of the contact. - **phone** (string) - Optional - The phone number of the contact. - **type** (string) - Optional - The type of contact ('main_traveler', 'co_traveler', or 'booker'). ### Request Example ```json { "gender": "male", "first_name": "Johnie", "last_name": "Doe", "address": "Some street", "address_number": 1, "zipcode": "12345AA", "city": "London", "email": "a@b.nl" } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the contact. - **contact_id** (integer) - The contact ID. - **admin_id** (integer) - The admin ID. - **name** (string) - The name of the contact. - **created** (string) - The creation date and time. - **status** (string) - The status of the contact. - **meta** (object) - Additional metadata about the contact. - **company** (string) - The company of the contact. - **gender** (string) - The gender of the contact. - **first_name** (string) - The first name of the contact. - **last_name** (string) - The last name of the contact. - **address** (string) - The address of the contact. - **address_number** (integer) - The address number of the contact. - **zipcode** (string) - The zipcode of the contact. - **city** (string) - The city of the contact. - **email** (string) - The email of the contact. - **reservations** (array) - A list of reservations associated with the contact. - **invoices** (array) - A list of invoices associated with the contact. #### Response Example ```json { "id": 24522, "contact_id": 2001129, "admin_id": 6339, "name": "", "created": "2021-08-18 21:17:32", "status": "active", "meta": { "company": "", "gender": "male", "first_name": "Johnie", "last_name": "Doe", "address": "Some street", "address_number": 1, "zipcode": "12345AA", "city": "London", "email": "a@b.nl" }, "reservations": [], "invoices": [] } ``` ``` -------------------------------- ### Update Contact via PUT Source: https://documenter.getpostman.com/view/9467805/VUjQkj1d#d2a76971-dae2-46b4-b92d-60db1f08ff7a Updates specific contact fields using a PUT request. Only provided parameters are modified. ```curl curl --location --request PUT 'https://api.camping.care/v21/contacts/340?gender=male' ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.