Contact API

Get Contact by Contact Id

GET /graph/contacts/contactById

API ini diperuntukkan untuk menampilkan informasi yang berisi data pelanggan milik 3Dolphins

Headers

Nama
Value

Content-Type

application/json

Authorization

Bearer <token>

Query Parameters

Nama
Tipe
Deskripsi

contactId

string

Digunakan untuk menentukan data kontak yang akan diambil. Setiap pelanggan yang berinteraksi melalui channel akan terbuat kontaknya ke dalam sistem.

ignoreDeleted

boolean

Merupakan filter yang digunakan untuk menentukan data kontak yang akan diambil apakah mencakup kontak yang sudah terhapus.

includeChildrenSocial

boolean

Merupakan filter yang digunakan untuk menentukan data kontak yang akan diambil apakah mencakup kontak turunan atau tidak (apabila kontak tersebut sudah pernah di merge contact) .

numberOfChildren

integer

Merupakan filter untuk menentukan jumlah kontak turunan yang akan ditampilkan.

Response

{
      "id": "[customer_id]",
      "owner": "[owner_id]",
      "createdDate": 1720601207431,
      "createdBy": "[system/user id]",
      "modifiedDate": 1720601207431,
      "modifiedBy": "[system/user id]",
      "ageMax": 0,
      "ageMin": 0,
      "contactEmail": [
        "[email protected]"
      ],
      "contactEmailString": "[email protected]",
      "contactFirstName": "Bunga",
      "contactLastName": "Asmara",
      "maxFollower": 0,
      "phoneTypes": [
        "Mobile"
      ],
      "phones": [
        "6285782120717"
      ],
      "phonesString": "6285782120717",
      "socialIdWebchat": [
        "6285782120717-Bunga Asmara"
      ],
      "socialNameWebchat": [
        "Bunga Asmara"
      ],
      "socialScreenNameWebchat": [
        "[email protected]"
      ],
      "socialsString": "[email protected],[email protected]",
      "username": "Bunga Asmara",
      "additionalFieldsObject": [
        {
          "name": "NPWP",
          "value": null
        }
      ],
      "influencerCategory": "",
      "mapMaskedPhoneNumber": {
        "6285782120717": "6285782120717"
      },
      "maskingMode": false,
      "firstFormattedPhone": "6285782120717",
      "maskedPhones": [
        "6285782120717"
      ],
      "prettyCreatedDate": "10 Jul 2024 15:46",
      "rating": 0,
      "contactAccountIds": [
        "[email protected]",
        "6285782120717"
      ],
      "contactTouchpoints": [
        {
          "id": "[email protected]",
          "displayName": "Bunga Asmara",
          "screenName": "[email protected]",
          "profilePicture": null,
          "channelType": "javamail",
          "channelTypeIcon": "images/channel/ic_email.png",
          "contactId": "[contact_id]"
        }
      ],
      "phoneList": "6285782120717",
      "additionalFieldValueAsMap": {},
      "availableTouchpoints": [
        "images/channel/ic_email.png"
      ],
      "contactPhoneFormatted": "6285782120717",
      "haveAnySocialAccounts": false,
      "liveChatAccount": false,
      "contactEmailFormated": "[email protected]",
      "vipStatus": "No",
      "maskedSocialWhatsappId": []
    }

Berikut merupakan penjelasan dari body response field:

Nama
Deskripsi

id

Merupakan identifikasi unik untuk setiap pelanggan yang berinteraksi menggunakan channel 3Dolphins.

owner

Merupakan identifikasi unik untuk pemegang kontrol akses data dalam aplikasi, biasanya diisi menggunakan ID dari sistem.

createdDate

Menunjukkan waktu ketika kontak pelanggan terbuat.

createdBy

Menunjukkan siapa yang membuat kontak tersebut. Apabila pelanggan berkomunikasi menggunakan channel biasanya isi dari field ini merupakan ID milik sistem. Namun apabila kontak pelanggan dibuat secara manual oleh user, maka akan berisi ID dari user tersebut.

modifiedDate

Digunakan untuk menunjukkan kapan terakhir data kontak tersebut diubah.

modifiedBy

Digunakan untuk menunjukkan yang terakhir mengubah data kontak tersebut apakah dari user atau sistem.

contactEmail

Menunjukkan email dari kontak tersebut. Pada field ini seluruh alamat email disimpan dalam bentuk ArrayList.

contactEmailString

Menunjukkan email dari kontak tersebut. Pada field ini seluruh alamat email disimpan dalam bentuk string.

contactFirstName

Menunjukkan nama pertama dari kontak pelanggan.

contactLastName

Menunjukkan nama terakhir dari kontak pelanggan.

phones

Menunjukkan nomor telepon dari pelanggan tersebut dalam bentuk ArrayList.

phonesString

Menunjukkan nomor telepon dari pelanggan tersebut. Pada field ini seluruh nomor telepon disimpan dalam bentuk String.

socialIdWebchat

Field ini digunakan untuk menandakan pelanggan tersebut datang dari channel live chat berupa identifikasi unik. Biasanya field ini merupakan kombinasi dari nama dan nomor telepon pelanggan.

socialNameWebchat

Menunjukkan nama ketika pelanggan terhubung ke channel live chat.

socialScreenNameWebchat

Field ini berguna untuk menyimpan email ketika pelanggan mengakses channel live chat.

socialsString

Setiap pelanggan yang berinteraksi melalui salah satu channel 3Dolphins akan diberikan sebuah identifier. Field ini menyimpan data dalam bentuk String. Contoh: Rois Saputra adalah pelanggan yang berinteraksi dengan agen melalui channel WhatsApp dan Live Chat, sehingga memiliki nilai yang bersifat unik.

username

Merupakan field untuk menyimpan username yang digunakan oleh pelanggan pada akun media sosial mereka. Namun, untuk channel live chat biasanya terdiri dari first name dan last name milik pelanggan.

additionalFieldsObject

Digunakan untuk menyimpan custom field yang ditambahkan pada data customer contact. Untuk menambahkan additional field anda dapat mengunjungi halaman ini.

maskingMode

Merupakan field yang menentukan apakah nomor telepon kontak ini disembunyikan pada tampilan UI.

maskedPhones

Merupakan ArrayList untuk menyimpan nomor telepon pelanggan untuk keperluan fitur masking phone number.

prettyCreatedDate

Merupakan hasil konversi kolom "createdDate" ke dalam format tanggal.

rating

Merupakan rating yang diberikan untuk pelanggan tersebut.

contactAccountIds

Merupaka field untuk menyimpan seluruh akun social dari pelanggan tersebut.

contactTouchPoints

Field ini digunakan untuk menyimpan ArrayList dari informasi kontak pelanggan. Digunakan untuk menampilkan rekomendasi kontak pelanggan ketika memilih recipient email.

additionalFieldValueAsMap

Merupakan field untuk menyajikan data "additional field" dalam bentuk map ( struktur data berisi key - value).

availableTouchPoints

Field ini berguna untuk menampilkan gambar sesuai dengan channel dimana kontak pelanggan terbuat.

contactPhoneFormatted

Digunakan untuk menyimpan nomor kontak pelanggan dalam bentuk data string.

haveAnySocialAccounts

Field ini berguna untuk menentukan apakah kontak pelanggan memiliki akun social di 3Dolphins.

liveChatAccount

Field ini untuk berguna untuk mengecek apakah pelanggan berasal dari channel live chat.

contactEmailFormated

Digunakan untuk menyimpan email dari kontak pelanggan dalam bentuk data string.

vipStatus

Menunjukkan apakah contact tersebut diatur sebagai contact VIP.

Get All Contact

Method

GET

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/all?start=0&count=2

Header

Authorization : Bearer [generatedToken]

Body

Status

200

Response

{ “status”: “success”, “data”: [ { “id”: “[id]”, “spell”: [ “andre”, “[email protected]”, “62816553232”, “andre” ], “owner”: “[owner]”, “createdDate”: 1601275720504, “createdBy”: “82ab0fd5cfd1e80d1ff97c0cfc9aa9e2”, “modifiedDate”: 1601275720504, “modifiedBy”: “82ab0fd5cfd1e80d1ff97c0cfc9aa9e2”, “ageMax”: 0, “ageMin”: 0, “contactEmail”: [ “[email protected]” ], “contactEmailString”: “[email protected]”, “contactFirstName”: “andre”, “maxFollower”: 0, “phoneTypes”: [ “Mobile” ], “phones”: [ “62816553232” ], “phonesString”: “62816553232”, “socialIdWebchat”: [ “62816553232-andre” ], “socialNameWebchat”: [ “andre” ], “socialScreenNameWebchat”: [ “[email protected]” ], “socialsString”: “[email protected],[email protected]” }, { “id”: “[id]”, “spell”: [ “andre”, “[email protected]”, “62812643643”, “andre” ], “owner”: “[owner]”, “createdDate”: 1601275890818, “createdBy”: “82ab0fd5cfd1e80d1ff97c0cfc9aa9e2”, “modifiedDate”: 1601275890818, “modifiedBy”: “82ab0fd5cfd1e80d1ff97c0cfc9aa9e2”, “ageMax”: 0, “ageMin”: 0, “contactEmail”: [ “[email protected]” ], “contactEmailString”: “[email protected]”, “contactFirstName”: “andre”, “maxFollower”: 0, “phoneTypes”: [ “Mobile” ], “phones”: [ “62812643643” ], “phonesString”: “62812643643”, “socialIdWebchat”: [ “62812643643-andre” ], “socialNameWebchat”: [ “andre” ], “socialScreenNameWebchat”: [ “[email protected]” ], “socialsString”: “[email protected],[email protected]” } ], “hasMore”: true, “nextIndex”: 2, “prevIndex”: 0, “totalResults”: 254 }

Add Contact

Method

POST

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/add

Header

Authorization : Bearer [generatedToken]

Body

{ “contactFirstName”: “[first_name]” }

Status

200

Response

{ “status”: “success”, “data”: { “id”: “[Id]”, “owner”: “[owner_id]”, “createdDate”: 1598713781253, “createdBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “modifiedDate”: 1598713781253, “modifiedBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “partial”: false, “contactFirstName”: “Mira”, “additionalField”: [ “{\”name\”:\”customer_name\”}”, “{\”name\”:\”phone_number\”}”, “{\”name\”:\”email_address\”}”, “{\”name\”:\”last_date_purchase\”}”, “{\”name\”:\”first_time_purchase\”}”, “{\”name\”:\”num_hotel_transaction\”}”, “{\”name\”:\”num_flight_transaction\”}”, “{\”name\”:\”num_train_transaction\”}”, “{\”name\”:\”num_coupon_usage\”}”, “{\”name\”:\”last_booking_id\”}”, “{\”name\”:\”last_booking_product\”}”, “{\”name\”:\”last_booking_hotel_name\”}”, “{\”name\”:\”last_booking_hotel_area\”}”, “{\”name\”:\”last_booking_flight_route\”}”, “{\”name\”:\”last_booking_train_route\”}”, “{\”name\”:\”isregisteredchatbanking\”}” ], “username”: “Mira”, “socialAccounts”: [], “additionalFieldsObject”: [ { “name”: “customer_name”, “value”: null }, { “name”: “phone_number”, “value”: null }, { “name”: “email_address”, “value”: null }, { “name”: “last_date_purchase”, “value”: null }, { “name”: “first_time_purchase”, “value”: null }, { “name”: “num_hotel_transaction”, “value”: null }, { “name”: “num_flight_transaction”, “value”: null }, { “name”: “num_train_transaction”, “value”: null }, { “name”: “num_coupon_usage”, “value”: null }, { “name”: “last_booking_id”, “value”: null }, { “name”: “last_booking_product”, “value”: null }, { “name”: “last_booking_hotel_name”, “value”: null }, { “name”: “last_booking_hotel_area”, “value”: null }, { “name”: “last_booking_flight_route”, “value”: null }, { “name”: “last_booking_train_route”, “value”: null }, { “name”: “isregisteredchatbanking”, “value”: null } ], “rating”: 0, “contactAccountIds”: [], “contactTouchpoints”: [], “prettyCreatedDate”: “moments ago”, “additionalFieldValueAsMap”: { “customer_name”: { “name”: “customer_name”, “value”: null }, “phone_number”: { “name”: “phone_number”, “value”: null }, “email_address”: { “name”: “email_address”, “value”: null }, “last_date_purchase”: { “name”: “last_date_purchase”, “value”: null }, “first_time_purchase”: { “name”: “first_time_purchase”, “value”: null }, “num_hotel_transaction”: { “name”: “num_hotel_transaction”, “value”: null }, “num_flight_transaction”: { “name”: “num_flight_transaction”, “value”: null }, “num_train_transaction”: { “name”: “num_train_transaction”, “value”: null }, “num_coupon_usage”: { “name”: “num_coupon_usage”, “value”: null }, “last_booking_id”: { “name”: “last_booking_id”, “value”: null }, “last_booking_product”: { “name”: “last_booking_product”, “value”: null }, “last_booking_hotel_name”: { “name”: “last_booking_hotel_name”, “value”: null }, “last_booking_hotel_area”: { “name”: “last_booking_hotel_area”, “value”: null }, “last_booking_flight_route”: { “name”: “last_booking_flight_route”, “value”: null }, “last_booking_train_route”: { “name”: “last_booking_train_route”, “value”: null }, “isregisteredchatbanking”: { “name”: “isregisteredchatbanking”, “value”: null } }, “availableTouchpoints”: [], “contactPhoneFormatted”: “”, “haveAnySocialAccounts”: true, “liveChatAccount”: false }, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Update the Contact Data by Contact Id

Method

PUT

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/update/[contactId]

Header

Authorization : Bearer [generatedToken] ContactId : [contactId]

Body

Status

200

Response

{ “status”: “success”, “data”: { “id”: “[Id]”, “owner”: “[owner_id]”, “createdDate”: 1598714030772, “createdBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “modifiedDate”: 1598714030772, “modifiedBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “partial”: true }, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Update the Contact Data by Contact Id

Method

PUT

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/update/[contactId]

Header

Authorization : Bearer [generatedToken] ContactId : [contactId]

Body

Status

200

Response

{ “status”: “success”, “data”: { “id”: “[Id]”, “owner”: “[owner_id]”, “createdDate”: 1598714030772, “createdBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “modifiedDate”: 1598714030772, “modifiedBy”: “95bbbf64882dd7816c09996d56bbc1e2”, “partial”: true }, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Update the Contact Data by Email

Method

PUT

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/update/email/[contact_email]

Header

Authorization : Bearer [generatedToken] Email : [contact_email]

Body

Status

200

Response

{ “status”: “success”, “data”: {}, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Update the Contact Data by Account Id and Channel Type

Method

PUT

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/update/[accountId]/channelType/[channelType]

Header

Authorization : Bearer [generatedToken] accountId : [accountId] ChannelType : [channelType]

Body

{ “id”: “[Id]”, “owner”: “[ownerId]”, “contactId”: “[contactId]” }

Status

200

Response

{ “status”: “success”, “data”: {, “id”: “[Id]”, “owner”: “[ownerId]”, “createdDate”: 1599195510899, “createdBy”: “f1b380ced4477dd87e8d7ad842af7ae2”, “modifiedDate”: 1599195510899, “modifiedBy”: “f1b380ced4477dd87e8d7ad842af7ae2”, “partial”: true, “contactId”: “[contactId]”, “socialIdWebchat”: [ “62812374142-chi” ] }, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Get Contact Additional Fields

Method

Get

Media Type

application/json

URL

http://[server]/dolphin/apiv1/graph/contacts/additionalFields

Header

Authorization : Bearer [generatedToken]

Body

Status

200

Response

{ “status”: “success”, “data”: { &nbsp: “additionalFields”: “[]”, “nanoInfluencer”: { “minFollowers”: 1, “maxFollowers”: 100 }, “microInfluencer”: { “minFollowers”: 101, “maxFollowers”: 300 }, “macroInfluencer”: { “minFollowers”: 301, “maxFollowers”: 300 }, “megaInfluencer”: { “minFollowers”: 5000, “maxFollowers”: 9223372036854776000 }, “customerIdentificationUrl”: “” }, “hasMore”: false, “nextIndex”: 0, “prevIndex”: 0, “totalResults”: 0 }

Last updated

Was this helpful?