Kontakte

Das Kontakt Objekt

Attribut

Typ

Beschreibung

parent_id

integer

ID zum Hauptkontakt (anhand dieses Attributes erkennt man einen Unterkontakt)

is_company

boolean

Ist der Kontakt eine Firma?

item_id

integer

autom. hochgezählte Kundennummer

salutation

string

Anrede. Eines von mr oder ms

academic_title

title

Titel, z.B. "Dr."

first_name

string

Vorname

last_name

string

Nachname

email

string

Primär-Email

home_cell

string

Handynummer

home_phone

string

Festnetznummer

office_phone

string

Geschäftliche Telefonnummer

office_cell

string

Geschäftliche Handynummer

dob

date

Geburtsdatum

birth_name

string

Geburtsname

birth_place

string

Geburtsort

birth_country

string

Geburtsland

identity_number

string

issuing_authority

string

tax_identification_number

string

rating

integer

Bewertung von 0-3

description

string

Notizfeld für Bemerkungen zum Kontakt

company

string

Unternehmen für welches der Kontakt arbeitet

position

string

Position im Unternehmen

emails

string[]

Alle E-Mail-Adressen des Kontaktes

full_salutation

string

E-Mail Anrede, z.B. "Sehr geehrter Herr Doe"

language

string

Sprache des Benutzers. Mögliche Werte: de, en, es

income

string

Einkommen

newsletter

boolean

Möchte Newsletter haben?

accept_contact

boolean

Hat Kontakterlaubnis bestätigt?

warning_notice

string

Warnhinweis, der im Kontakt auffällig angezeigt wird

client_source_id

integer

ID der Quelle des Kontaktes

client_status_id

integer

ID des Statuses des Kontaktes

archived

boolean

Kontakt archiviert?

last_contact_at

date

Letzter Kontakt mit ihm

created_at

date

Erstellungsdatum

updated_at

date

Zuletzt bearbeitet

creator_id

integer

der Benutzer, der den Kontakt angelegt hat

updater_id

integer

der Benutzer, der den Kontakt zuletzt bearbeitet hat

gdpr_status

integer

DSGVO-Status. Eines von 0, 1, 2, 3 (Keine Angabe, Ignoriert, Zugestimmt, Widerrufen)

keep_data_till

date

Speichern-bis Datum

client_reason_id

id

ID des Speichern-Grund, siehe Speicherungsgründe unten

cp_delete_request_date

date

Datum der Löschungsbeantragung vom Kontakt

custom_fields

object

Custom Felder

Assoziationen

  1. broker

  2. second_broker

  3. client_source

  4. client_status

  5. documents

  6. owned_properties

  7. children

get
Kontakte lesen

https://api.propstack.de/v1/contacts
Request
Response
Request
Query Parameters
project_ids
optional
array
Kontakte, die mit einem bestimmten Projekt oder eines von mehreren verknüpft ist
phone_number
optional
string
Exakte Telefonnummer, die der Kontakt haben muss (Leerzeichen, Bindestriche sind egal)
q
optional
string
Suchparameter, der in Vorname, Nachname, Emails, Anschrift und Telefonnummern sucht
archived
optional
string
wenn -1, dann werden alle Kontakte gezogen, bei 1, nur die archivierten. Ansonsten standardmäßig erhält man nur die Nicht-Archivierten
Response
200: OK
[
{
"id": 30267,
"item_id": 1314,
"salutation": "mr",
"academic_title": "",
"name": "John Doe",
"is_company": false,
"company": "John Doe AG",
"email": "john@doe.de",
"phone": null,
"last_contact_at": "2018-12-01T16:37:56.250+01:00",
"created_at": "2018-11-27T19:58:35.146+01:00",
"updated_at": "2019-01-02T11:10:36.709+01:00",
"client_status_id": 45,
"client_source_id": null,
"locked": false,
"broker_ids": [],
"children_size": 0,
"groups": []
}
]

Beispiele für Anfragen nach Telefonnummer

Ist bei einem Kontakt die Telefonnummer 0157 123 456 78 hinterlegt, kann man mit folgenden Anfragen finden:

https://api.propstack.de/v1/contacts?phone_number=015712345678 oder: https://api.propstack.de/v1/contacts?phone_number=0157-123-456-78

post
Kontakt erstellen

https://api.propstack.de/v1/contacts
Erstellt ein Kontakt im CRM, bzw. aktualisiert einen vorhandenen Kontakt, wenn dieser anhand der Emailadresse (emailM-ID" (old_crm_id) gefunden wird.
Request
Response
Request
Path Parameters
client
required
object
siehe Kontakt-Objekt oben, welche Felder es haben kann
Response
200: OK
{
"ok": true,
"id": 123
}

Um einen Kontakt anzulegen, mit einem Vor- und Nachnamen, einer E-Mail-Adresse und der Anrede "Herr", würde der Body des Requests folgendermaßen aussehen:

{
"client": {
"salutation": "mr",
"first_name": "John",
"last_name": "Doe",
"email": "john@doe.com"
}
}

get
Kontakt lesen

https://api.propstack.de/v1/contacts/:id
Einen einzelnen Kontakt aufrufen
Request
Response
Request
Query Parameters
include
optional
string
Beziehungen, die in der Antwort mit übergeben werden. Kann die Werte children, documents und owned_properties haben
Response
200: OK
{
"id": 1,
"item_id": 1,
"salutation": "ms",
"academic_title": null,
"name": "Atze Tango",
"is_company": false,
"company": "Propstack",
"email": "atze.tango@example.com",
"phone": null,
"last_contact_at": "2019-08-14T14:36:57.000+02:00",
"created_at": "2019-06-04T17:08:59.386+02:00",
"updated_at": "2019-08-22T11:00:42.458+02:00",
"home_phone": null,
"home_cell": null,
"office_phone": null,
"office_cell": null,
"client_status_id": null,
"client_source_id": null,
"locked": false,
"broker_ids": null,
"status": {},
"children_size": 0,
"old_crm_id": null,
"broker_id": null,
"first_name": "Atze",
"last_name": "Tango",
"home_address": null,
"office_address": null,
"dob": null,
"birth_name": null,
"birth_place": null,
"birth_country": null,
"identity_number": null,
"issuing_authority": null,
"nationality": null,
"rating": 0,
"description": null,
"position": "Geschäftsführer",
"full_salutation": "Sehr geehrte Frau Tango,",
"emails": [
"atze.tango@example.com"
],
"home_street": null,
"home_house_number": null,
"home_zip_code": null,
"home_city": null,
"home_country": null,
"office_street": null,
"office_house_number": null,
"office_zip_code": null,
"office_city": null,
"office_country": null,
"tax_identification_number": null,
"token": "gioWo5KczySDb1gRfT7bik52",
"deleted_at": null,
"parent_id": null,
"language": null,
"custom_fields": {},
"income": null,
"handover_date": null,
"rent_date": null,
"mvsigned": null,
"hvsigned": null,
"followup_date": null,
"newsletter": null,
"newsletter_unsubscribed": false,
"message_salutation": null,
"accept_contact": false,
"warning_notice": null,
"pass_type": null,
"conspicuity": null,
"legal_form": null,
"register_number": null,
"archived": false,
"creator_id": null,
"updater_id": null,
"cp_delete_request_date": null,
"gdpr_status": 0,
"keep_data_till": null,
"client_reason_id": null,
"last_contact_at_formatted": "14.08.2019 14:36",
"created_at_formatted": "04.06.2019 17:08",
"updated_at_formatted": "22.08.2019 11:00",
"broker": null,
"second_broker": null,
"groups": [
{
"id": 6,
"name": "IT-Branche",
"super_group_id": null
}
],
"documents": [],
"owned_properties": [],
"children": [],
"client_source": null,
"client_status": null
}

Anmerkungen:

owned_properties listet die Objekte auf, wo der Kontakt als Eigentümer eingetragen ist.

put
Kontakt aktualisieren

https://api.propstack.de/v1/contacts/:id
Einen vorhandenen Kontakt aktualisieren.
Request
Response
Request
Body Parameters
client
required
string
ein client Objekt, siehe oben für alle möglichen Felder
Response
200: OK
Kontakt-Objekt
{
"id": 1,
"item_id": 1,
"salutation": "mr",
"academic_title": null,
"name": "Atze Tango",
...
}

Der Parameter id ist Propstacks interne ID (z.B. 2049). Wenn man aber z.B. einen anderen Identifier hat, z.B. den Token des Kontaktes, welcher ein langer String ist, kann man diesen auch als id übergeben, muss aber dann noch einen weiteren Parameter identifier hinzufügen, welcher den Wert token hat:

https://api.propstack.de/v1/contacts/gioWo5KczySDb1gRfT7bik52?identifier=token

delete
Kontakt löschen

https://api.propstack.de/v1/contacts/:id
Einen vorhandenen Kontakt anhand seiner ID löschen. Der Kontakt landet dann in einem Papierkorb und wird nach 30 Tagen dann für immer gelöscht, sofern er in der zeit nicht wiederhergestellt wurde.
Request
Response
Request
Path Parameters
id
required
string
ID des Kontaktes, welcher gelöscht werden soll
Response
200: OK
Es wird die ID des gelöschten Kontaktes zurückgegeben
{
"ok": true,
"id": 1
}

get
Kontakt-Quellen lesen

https://api.propstack.de/v1/contact_sources
Request
Response
Request
Response
200: OK
[
{
"id": 26,
"name": "Immobilienscout 24"
}
]