Skip to content

Business Endpoints

Below we have documented all endpoints for our primary Business Domain Entities.

Notice

The content of the domainComponentName is always on lower case and contains only letters.

Agency

Sync All Agency

  • Method: POST
  • Endpoint: /agency/sync-all
  • Optional query parameters:
    • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Agency By ID

  • Method: POST
  • Endpoint: /agency/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "agency",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "name": "Office #1"
    }
  ]
}

Agent

Sync All Agents

  • Method: POST
  • Endpoint: /business/:businessId/agent/sync-all
  • Optional query parameters:
    • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Agents By ID

  • Method: POST
  • Endpoint: /business/:businessId/agent/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "agent",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "firstName": "John",
      "lastName": "Rambo",
      "phoneNumber": "+61 404 040 404",
      "email": "john@rambo.com"
    }
  ]
}

Appointment

Sync All Appointments

  • Method: POST
  • Endpoint: /business/:businessId/appointment/sync-all
  • Optional query parameters:
    • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Appointments By ID

  • Method: POST
  • Endpoint: /business/:businessId/appointment/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "appointment",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "propertyId": "00000000-0000-0000-0000-000000000001",
      "startDateTime": "2023-01-01T01:23:45.600000Z",
      "endDateTime": "2023-01-01T01:23:45.600000Z",
      "appointmentType": "PublicOfi"
    }
  ]
}

Parameters

  • appointmentType: Appraisal; Auction; PublicOfi

Business

Sync All Businesses

  • Method: POST
  • Endpoint: /business/sync-all
  • Optional query parameters:
    • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Business By ID

  • Method: POST
  • Endpoint: /business/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "business",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "name": "Business #1"
    }
  ]
}

Buyer Requirement (v1)

Deprecation Notice

Buyer Requirement v1 will be deprecated and superseded by v2.

Sync All Buyer Requirements

  • Method: POST
  • Endpoint: /business/:businessId/buyerrequirements/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Buyer Requirement By ID

  • Method: POST
  • Endpoint: /business/:businessId/buyerrequirements/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "buyerrequirements",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "ActivePipe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "contactId": "00000000-0000-0000-0000-000000000001",
      "vaultReContactId": "110293812",
      "minBudget": 125000,
      "maxBudget": 175000,
      "minBedrooms": 3,
      "minBathroom": null,
      "minParking": null,
      "minLandArea": 100,
      "maxLandArea": 120,
      "propertyType": "House",
      "location":
      {
        "city": "Sandringham",
        "state": "VIC",
        "country": "AU",
        "postCode": "3191"
      }
    }
  ]
}
Where:

  • propertyType is an enumeration containing one of the following entries: House, Apartment, Unit, Flat, SemiDetached, Duplex, Land, Townhouse, Studio, Terrace, Villa, Acreage, Rural, Other, BlockOfUnits, OffThePlan, Retirement.
  • vaultReContactId (deprecated) is the correlated contactId on VaultRe.

Buyer Requirement (v2)

Sync All Buyer Requirements

  • Method: POST
  • Endpoint: /business/:businessId/buyerrequirementsv2/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Buyer Requirement By ID

  • Method: POST
  • Endpoint: /business/:businessId/buyerrequirementsv2/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "buyerrequirementsv2",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "ActivePipe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "contactId": "00000000-0000-0000-0000-000000000001",
      "minBudget": 125000,
      "maxBudget": 175000,
      "minBedrooms": 3,
      "maxBedrooms": 5,
      "minBathroom": null,
      "maxBathroom": 3,
      "minParking": null,
      "maxParking": 2,
      "minLandArea": 100,
      "maxLandArea": 120,
      "minFloorArea": 30,
      "maxFloorArea": 75,
      "propertyTypes": ["House"],
      "purpose": "Upsizer",
      "type": "Manual",
      "subType": "ContractsSent",
      "contractType": "Sale",
      "suburbIds": ["00000000-0000-0000-0000-000000000001"],
      "lastTouched": "2023-04-04T01:03:08.580Z"
    }
  ]
}
Where:

  • purpose is an enumeration containing the following entries: Upsizer, Downsizer, FirstHomeBuyer, Investor, BuyThenSell, Uncategorized.
  • type is an enumeration containing the following entries: Auto, Manual.
  • subType is an enumeration containing the following entries: OffersPlaced, ContractsSent, OfiAttendance, Enquiries.
  • contractType is an enumeration containing the following entries: Sale, Lease.
  • propertyTypes is an enumeration containing the following entries: House, Apartment, Unit, Flat, SemiDetached, Duplex, Land, Townhouse, Studio, Terrace, Villa, Acreage, Rural, Other, BlockOfUnits, OffThePlan, Retirement.

Contact

Sync All Contacts

  • Method: POST
  • Endpoint: /business/:businessId/contact/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Contact By ID

  • Method: POST
  • Endpoint: /business/:businessId/contact/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "contact",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "title": "Dr",
      "firstName": "Bruce",
      "lastName": "Wayne",
      "phoneNumber": "+61 040 404 404",
      "email": "bruce@justiceleague.com",
      "intlAddress": {
        "buildingName": "<building name>",
        "floor": "1",
        "unitNumber": "1",
        "streetNumber": "60",
        "streetName": "Cordelia Street",
        "geographicalInformation": "<geographical info>",
        "minorMunicipality": "<minor municipality>",
        "majorMunicipality": "South Brisbane",
        "governingDistrict": "Queensland",
        "postalArea": "2222",
        "geoLocation": {
          "latitude": 33.8688,
          "longitude": 151.2093
        },
        "countryIdentifier": "AUS"
      },
      "isUnsubscribedFromEmail": true,
      "isUnsubscribedFromSms": false,
      "isUnsubscribedFromLetters": true,
      "isUnsubscribedFromActivePipe": false,
      "primaryMarketingContactUserId": "00000000-0000-0000-0000-000000000001"
    }
  ]
}

Deletion Events

A contact deletion event follows the standard Deletion Webhook format. However, it is one of the events that supports the mergedInto deletion field. This field indicates that a contact has been deleted because it was merged into another contact.

Data Ingestion

Each domain business component will expose 3 endpoints: - /business/:businessId/contact/create - for creation - /business/:businessId/contact/update/:id - for update - /business/:businessId/contact/delete/:id - for deletion

The expected payload should be a partial representation of the full payload we currently send via webhook notification. It won't contain the organisationName, businessId or id fields - all of which will be inferred from the invoked endpoint.

Below is an example of a payload sent to the contact creation endpoint.

{
  "title": "Dr",
  "firstName": "Bruce",
  "lastName": "Wayne",
  "phoneNumber": "+61 040 404 404",
  "email": "bruce@justiceleague.com"
}

Both creation or update endpoints will return the following HTTP Status codes: - 400 Bad Request - when the payload is invalid or malformed - 401 Unauthorised - when the client is not authenticated - 403 Forbidden - when the client is not authorised to perform a given action - 202 Accepted - when the message was successfully enqueued

Receipt notification

As any other endpoint in Data API, the Ingestion endpoints will process the request asynchronously (thus, the 202 response upon success). To allow subscribers to track the completion of these operations, Data API will send back a Receipt request once the ingestion task is completed.

The fields on the notification envelope will be the same, but the eventReason will be set to Receipt. When the notification is successful there will

Here is an example of how a receipt notification for successful cases will look like:

{
  "organisationName": "raywhite",
  "businessId": "00000000-0000-0000-0000-000000000000",
  "domainComponentName": "contact",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "state": "Receipt",
  "payload": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "operation": "Create",
      "succeeded": true
    }
  ]
}

Also, here is how a receipt notification for when the ingestion task fails:

{
  "organisationName": "raywhite",
  "businessId": "00000000-0000-0000-0000-000000000000",
  "domainComponentName": "contact",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "state": "Receipt",
  "payload": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "operation": "Create",
      "succeeded": false,
      "failureCause": "firstName must not be blank"
    }
  ]
}

Listing

Sync All Listings

  • Method: POST
  • Endpoint: /business/:businessId/listing/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Listing By ID

  • Method: POST
  • Endpoint: /business/:businessId/listing/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "listing",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "owner": "Jane Doe",
      "fullAddress": {
        "buildingName": "<building name>",
        "floor": "1",
        "unitNumber": "1",
        "streetNumber": "60",
        "streetName": "Cordelia Street",
        "geographicalInformation": "<geographical info>",
        "minorMunicipality": "<minor municipality>",
        "majorMunicipality": "South Brisbane",
        "governingDistrict": "Queensland",
        "postalArea": "2222",
        "geoLocation": {
          "latitude": 33.8688,
          "longitude": 151.2093
        },
        "countryIdentifier": "AUS"
      },
      "price": 100.00,
      "soldPrice": 100.00,
      "soldDate": "2023-04-04T01:03:08.580Z",
      "areaSize": {
        "value": 1.0,
        "unitOfMeasurement": "SQM"
      },
      "bathrooms": 1,
      "bedrooms": 1,
      "carSpaces": 1,
      "created": "2023-04-04T01:03:08.580Z",
      "ensuites": 1,
      "features": [
        "pool"
      ],
      "flatNumber": "1",
      "internalArea": {
        "value": 1.0,
        "unitOfMeasurement": "SQM"
      },
      "isResidential": true,
      "lotNumber": 1,
      "postcode": "2222",
      "propertyType": "House",
      "phase": "Campaign",
      "campaignActive": true,
      "storeys": 1,
      "externalIds": {
        "someId": "123",
        "anotherId": "456"
      },
      "listingState": "Live",
      "primaryAgentId": "00000000-0000-0000-0000-000000000001",
      "secondaryAgentId": "00000000-0000-0000-0000-000000000001",
      "headline": "Rustic Renovator's Delight",
      "description": "Ancient ruins surrounded by impenetrable jungle",
      "externalLink": "https://properties.com",
      "underOffer": true,
      "showAddress": true,
      "energyRating": 3.0,
      "advertisedPrice": "$3,000,000",
      "listingDate": "2023-01-01T01:23:45.600000Z",
      "campaignType": "Auction",
      "listingType": "Sale",
      "portalStatus": "Current",
      "showSoldPrice": true
      "images": [
        {
          "id": "00000000-0000-0000-0000-000000000001",
          "url": "https://image.com/image.jpg",
          "contentType": "image/jpg",
          "tags": ["MainImage", "Photograph"],
          "caption": "caption about the image or null",
          "createdAt": "2023-04-04T01:03:08.580Z",
          "updatedAt": "2023-04-04T01:03:08.580Z",
          "isArchived": false
        }
      ]
    }
  ]
}

Parameters

  • unitOfMeasurement: SQM; AC; HA
  • propertyType: House; Apartment; Unit; Flat; SemiDetached; Duplex; Land; Townhouse; Studio; Terrace; Villa; Acreage; Rural; BlockOfUnits; OffThePlan; Retirement; Other
  • phase: None; AgentLead; Research; Nurture; Pipeline; Prospect; Invalid; LostAndSold; CampaignPrep; Campaign; Settlement; Complete; Withdrawn; Deleted
  • listingState: Unapproved; Pending; Live; Paused; Complete; Withdrawn
  • campaignType: None; PrivateTreaty; Auction; Tender; SetSaleDate
  • listingType: Sale
  • portalStatus: Current; Withdrawn; OffMarket; Sold
  • images.tags: Photograph; MainImage; Floorplan; Signboard

Open-For-Inspection Attendance

Sync All OFI Attendances

  • Method: POST
  • Endpoint: /business/:businessId/ofi-attendance/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync OFI Attendance By ID

  • Method: POST
  • Endpoint: /business/:businessId/ofi-attendance/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "ofiattendance",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source":"VaultRe",
        "value": 12345
      },
      "id":"00000000-0000-0000-0000-000000000001",
      "propertyId":"00000000-0000-0000-0000-000000000001",
      "contactId":"00000000-0000-0000-0000-000000000001",
      "attendanceDateTime":"2023-01-01T01:23:45.600000Z",
      "type":"Private"
    }
  ]
}

VaultRE Business Contact Relation

Sync All VaultRE Contact Relations

  • Method: POST
  • Endpoint: /business/:businessId/vault-business-contact-relation/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync VaultRE Contact Relations By ID

  • Method: POST
  • Endpoint: /business/:businessId/vault-business-contact-relation/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "vaultbusinesscontactexternalidrelation",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "externalBusinessContactId": 1234567,
      "agencyId": "00000000-0000-0000-0000-000000000001",
      "businessContactId": "00000000-0000-0000-0000-000000000001"
    }
  ]
}

VaultRE Property Relation

Sync All VaultRE Property Relations

  • Method: POST
  • Endpoint: /business/:businessId/vault-property-external-id-relation/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync VaultRE Property Relation By ID

  • Method: POST
  • Endpoint: /business/:businessId/vault-property-external-id-relation/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "vaultpropertyexternalidrelation",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "VaultRe",
        "value": "12345"
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "agencyId": "00000000-0000-0000-0000-000000000001",
      "externalLifecycleId": 1,
      "externalPropertyId": 1,
      "propertyId": "00000000-0000-0000-0000-000000000001"
    }
  ]
}

Team

Sync All Teams

  • Method: POST
  • Endpoint: /team/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Team By ID

  • Method: POST
  • Endpoint: /team/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "team",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "name": "Team #1",
      "salesManagerUserId": "00000000-0000-0000-0000-000000000001",
      "agentIds": [
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-000000000002"
      ],
      "salesAssociateIds": [
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-000000000002"
      ],
      "conciergeUserIds": [
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-000000000002"
      ],
      "agencyIds": [
        "00000000-0000-0000-0000-000000000001",
        "00000000-0000-0000-0000-000000000002"
      ],
      "active": true,
      "conciergeEnabled": true,
      "createdAt": "2023-01-01T01:23:45.600000Z",
      "updatedAt": "2023-01-01T01:23:45.600000Z"
    }
  ]
}

Agent To Contact Relationship

Sync All Agent To Contact Relationship

  • Method: POST
  • Endpoint: /agenttocontactgrant/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Agent To Contact Relationship By ID

  • Method: POST
  • Endpoint: /agenttocontactgrant/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "agenttocontactgrant",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "contactId": "00000000-0000-0000-0000-000000000001",
      "agentId": "00000000-0000-0000-0000-000000000001"
    }
  ]
}

Contact Tag

Sync All Contact Tags

  • Method: POST
  • Endpoint: /contacttag/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Contact Tag By ID

  • Method: POST
  • Endpoint: /contacttag/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "contacttag",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "contactId": "00000000-0000-0000-0000-000000000001",
      "tag": "PropertyOwner"
    }
  ]
}

Listing Portals

Sync All Listing Portals

  • Method: POST
  • Endpoint: /listingportals/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if set, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Listing Portals By ID

  • Method: POST
  • Endpoint: /listingportals/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "listingportals",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": "00000000-0000-0000-0000-000000000001",
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "listingId": "00000000-0000-0000-0000-000000000001",
      "portals": ["ActivePipe"]
    }
  ]
}

Suburb

Represents a suburb, which is a unique combo of postcode and name.

Sync All Suburbs

  • Method: POST
  • Endpoint: /suburb/sync-all
  • Optional query parameters:
  • since[Date, format 'YYYY-MM-DD']: if defined, it will only include data created after the informed date.
  • Expected Response: 202 - Accepted

Sync Business By ID

  • Method: POST
  • Endpoint: /suburb/sync-by-id?id=:id
  • Expected Response: 202 - Accepted

Expected Webhook Notification

Whether there's a realtime notification happened, or an endpoint was invoked, your webhook subscription will receive a request similar to the one below.

{
  "domainComponentName": "suburb",
  "state": "Created",
  "payload": [
    {
      "organisationName": "raywhite",
      "businessId": null,
      "correlationId": {
        "source": "NCT",
        "value": null
      },
      "id": "00000000-0000-0000-0000-000000000001",
      "name": "Suburb Town",
      "country": "AUSTRALIA",
      "governingDistrict": "NSW",
      "postcode": "2000"
    }
  ]
}