Segment it is a collection of clients with common features, e.g. VIP clients
Table of contents
Table of contentsGET all segments GET segments for synchronization GET segmentPUT - update segment DELETE segment
GET all segments
There is possible to get whole list of segments. Use GET
/api/v1/account/integrations/auth-required/segments
The diagram below shows the dependency of communicating with the API:
To get all segments you need to put requred the following data in request:
pageNumber
(query)
pageSize
(query)
Example request
jsoncurl -X GET "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments?pageNumber=1&pageSize=100" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}"
In response you get all segment with full information about them
Example response
json[ { "id": "ab9e32db-48a1-47b3-9fda-975b9ed8a9d6", -- identifier of segment "name": "Hurtownie", -- name of segment "externalId": "Hurt", -- external identifier of segment "parentSegmentId": null -- parent identifier of segment }, { "id": "eb11f451-1c82-4b61-89fd-cf3a5e8801ea", "name": "VIP Client", "externalId": "VIP", "parentSegmentId": "segment" }, { "id": "fb800655-125a-44f7-a5eb-a63647caf045", "name": "Detaliczni", "externalId": "100", "parentSegmentId": "segment" }, { "id": "fcc98538-8957-4178-8f60-df14d7c24567", "name": "Podhurt", "externalId": "1", "parentSegmentId": "ab9e32db-48a1-47b3-9fda-975b9ed8a9d6" }, { "id": "segment", "name": "segment", "externalId": null, "parentSegmentId": null } ]
POST - create segment
Segments can be created both in the external system and in ONe. Check here how to create segments in ONe platform.
Use to create segments in external system POST
/api/v1/account/integrations/auth-required/segments
The diagram below shows the dependency of communicating with the API:
To create segment you need in request to put required the following data:
name
You can also put additionally the following data:
externalID
parnetSegmentId
Example request
jsoncurl -X POST "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}" -H "Content-Type: application/json" -d "{ { "externalId": "VIP", -- Identifier from external system "name": "VIP Client", -- name of segment "parentSegmentId": "segment" }"
In response you will receive identifier of segment
Example response
json{ "id": "eb11f451-1c82-4b61-89fd-cf3a5e8801ea" }
GET segments for synchronization
As previously mentioned, There is possible to create segments in ONe.
The diagram below shows the dependence of communicating with the API when segments was created in ONe platform:
In this case first of all you have to use GET
/api/v1/account/integrations/auth-required/segments/synchronization
to find the specified segment created or edited in ONe.
To create segment you need in request to put required the following data:
contexts
- list of the event context, default: APPLICATION, BACKOFFICE, INTERNAL, INTEGRATIONS
startId
- the step from which start synchronization
Example request
jsoncurl -X GET "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments/synchronization?contexts=INTEGRATIONS&startId=9" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}"
In response you will receive a information about next step ID, segment ID and type
Example response
json{ "nextId": 10, -- next step identifier "events": [ { "segmentId": "eb11f451-1c82-4b61-89fd-cf3a5e8801ea", -- segment identifier "type": "CREATE" -- kind of type (create, update or delete) } ] }
When we see that the segment has changed, we can use his ID to check the current data. Here's how to do it.
GET segment
Now as you have
segmentId
you can use GET /api/v1/account/integrations/auth-required/segments/{segmentId}
to receive information about specific client using his IDThe diagram below shows the dependency of communicating with the API:
To get information about selected segment you need to put required the following data in request:
segmentId
(path)
Example request
jsoncurl -X GET "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments/eb11f451-1c82-4b61-89fd-cf3a5e8801ea" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}"
In response you get whole information about selected segment.
Example response
json{ "id": "eb11f451-1c82-4b61-89fd-cf3a5e8801ea", "name": "VIP Client", "externalId": "VIP", "parentSegmentId": "segment" }
PUT - update segment
Segment information can be edited both in an external system and in ONe platform. If segment is edited in ONe, the further process is exactly the same as in the case of creating/editing a new segment in ONe. Click here to go back to these steps.
If information about segments is to be edited by API use PUT
/api/v1/account/integrations/auth-required/segments/{segmentId}
The diagram below shows the dependency of communicating with the API:
To update segment you need in request to put required the following data:
segmentId
(path)
name
(body)
You can also put additionally the following data:
externalId
parentSegmentId
Example request
jsoncurl -X PUT "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments/eb11f451-1c82-4b61-89fd-cf3a5e8801ea" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}" -H "Content-Type: application/json" -d "{ { "externalId": "Client VIP", "name": "Client VIP", "parentSegmentId": "ab9e32db-48a1-47b3-9fda-975b9ed8a9d6" -- ID of segment }"
DELETE segment
At the end you have the option to delete the segment. Use DELETE
/api/v1/account/integrations/auth-required/segments/{segmentId}
The diagram below shows the dependency of communicating with the API:
To delete segment you need in request to put required the following data:
segmentId
(path)
Example request
jsoncurl -X DELETE "https://api-preprod.one.unity.pl/api/v1/account/integrations/auth-required/segments/eb11f451-1c82-4b61-89fd-cf3a5e8801ea" -H "accept: */*" -H "one-tenant: {tenant}" -H "ApiAuth: {apiKey}"