Dealer Address

The Dealer Address API allows you to request and update specific address information for a given dealer


The Dealer FCA Resource

Properties

  • Name
    id
    Required
    Type
    integer
    Description

    Unique identifier for the dealer address record. This is not the dealer ID. A dealer may have multiple historical addresses on file.

  • Name
    dealer_id
    Required
    Type
    integer
    Description

    The unique ID for the dealer.

  • Name
    property_name_number
    Required
    Type
    string | null
    Description

    The properties name or number

  • Name
    street
    Required
    Type
    string | null
    Description

    The street level address for the dealer

  • Name
    city
    Required
    Type
    string | null
    Description

    The city level address for the dealer

  • Name
    county
    Required
    Type
    string | null
    Description

    The county or state level address for the dealer

  • Name
    postcode
    Required
    Type
    string | null
    Description

    The postal code level address for the dealer.

  • Name
    dates.created_at
    Required
    Type
    datetime
    Description

    The date the dealer address record was created, represented in YYYY-MM-DD HH:MM:SS format

  • Name
    dates.updated_at
    Required
    Type
    datetime
    Description

    The date the dealer's address record was last updated, represented in YYYY-MM-DD HH:MM:SS format

  • Name
    dates.deleted_at
    Required
    Type
    null | datetime
    Description

    The date the dealer's address record was deleted, represented in YYYY-MM-DD HH:MM:SS format. If the dealer address record is not deleted, this will be null. The dealer may have other deleted historical addresses recorded, as well as active addresses.

Dealer Address Resource

{
  "id": 1,
  "dealer_id": 12345,
  "property_name_number": "ITC Compliance, Unit 3",
  "street": "The Brooms",
  "city": "Bristol",
  "county": "South Gloucestershire",
  "postcode": "BS16 7FH",
  "dates": {
    "created_at": "2024-01-01 00:00:00",
    "updated_at": "2024-01-02 12:00:00",
    "deleted_at": null
  }
}

GET/v2/dealers/:dealer_id/addresses

Retrieve Address Records

Will return all the recorded active and historical addresses for a given dealer ID.

The search dealers endpoint uses the standard [/searching](search package) from the SDK.

URL Parameters

  • Name
    dealer_id
    Required
    required
    Type
    integer
    Description

    ID of the dealer to retrieve addresses for

Search Filters

  • Name
    filters.id.equals
    Required
    Type
    integer
    Description

    Match a single record by its unique address ID. The address ID must belong to the dealer.

  • Name
    filters.id.in
    Required
    Type
    array<integer>
    Description

    Match multiple records by their unique address IDs. The addresses will only be returned if they belong to the dealer.

  • Name
    filters.term.contains
    Required
    Type
    string
    Description

    Find an address by a generic term partial - this can be any part of each address line.

  • Name
    filters.postcode.equals
    Required
    Type
    string
    Description

    Find addresses by specific postcode

  • Name
    filters.is_deleted.equals
    Required
    Type
    boolean
    Description

    If true is provided, only deleted addresses will be returned. If false is provided, only the active address (if any) will be returned. To return both deleted and active addresses, leave this filter out.

Error Codes

Status Description
404 The requested dealer could not be found

Request

GET
/v2/dealers/:dealer_id/addresses
use Compliance\Sdk\ApexV3\Contracts\ApexV3SdkInterface;
use Compliance\Sdk\Authentication\Types\Machine;
use Compliance\Sdk\Search\Search;

private ApexV3SdkInterface $sdk;

$search = new Search();

$response = $this->sdk
  ->v2(new Machine())
  ->dealer(1)
  ->addresses()
  ->search($search);

Response

{
  "data": [
    {
      "id": 1,
      "dealer_id": 1,
      "property_name_number": "ITC Compliance, Unit 3",
      "street": "The Brooms",
      "city": "Bristol",
      "county": "South Gloucestershire",
      "postcode": "BS16 7FH",
      "dates": {
        "created_at": "2024-01-01 00:00:00",
        "updated_at": "2024-01-02 12:00:00",
        "deleted_at": null
      }
    }
  ]
}

GET/v2/dealers/:dealer_id/addresses/:address_id

Retrieve Address Record

Will retrieve a specific dealers address record.

URL Parameters

  • Name
    dealer_id
    Required
    required
    Type
    integer
    Description

    ID of the dealer to retrieve

  • Name
    address_id
    Required
    required
    Type
    integer
    Description

    ID of the address record to retrieve

Error Codes

Status Description
404 The requested dealer address could not be found

Request

GET
/v2/dealers/:dealer_id/addresses/:address_id
use Compliance\Sdk\ApexV3\Contracts\ApexV3SdkInterface;
use Compliance\Sdk\Authentication\Types\Machine;

private ApexV3SdkInterface $sdk;

$response = $this->sdk
  ->v2(new Machine())
  ->dealer(1)
  ->address(1)
  ->get();

Response

{
  "data": {
    "id": 2,
    "dealer_id": 1,
    "property_name_number": "ITC Compliance, Unit 3",
    "street": "The Brooms",
    "city": "Bristol",
    "county": "South Gloucestershire",
    "postcode": "BS16 7FH",
    "dates": {
      "created_at": "2024-01-01 00:00:00",
      "updated_at": "2024-01-02 12:00:00",
      "deleted_at": null
    }
  }
}

POST/v2/dealers/:dealer_id/addresses

Store Address

This will attempt to store a new active address for the dealer. Any previous active address will be archived. No values from previous addresses will be carried over to the new active address.

URL Parameters

  • Name
    dealer_id
    Required
    required
    Type
    integer
    Description

    ID of the dealer to save a new address to

Payload

  • Name
    property_name_number
    Required
    required
    Type
    string
    Description

    The property name or number for the site

  • Name
    street
    Required
    Type
    string | null
    Description

    The street level address

  • Name
    city
    Required
    Type
    string | null
    Description

    The town or city level address

  • Name
    county
    Required
    Type
    string | null
    Description

    The county or state level address

  • Name
    postcode
    Required
    required
    Type
    string
    Description

    The postcode level address

Error Codes

Status Description
404 The requested dealer could not be found.
422 The data provided in the payload was invalid. See errors for more details.

Request

POST
/v2/dealers/:dealer_id/addresses
use Compliance\Sdk\ApexV3\Contracts\ApexV3SdkInterface;
use Compliance\Sdk\Authentication\Types\Machine;

private ApexV3SdkInterface $sdk;

// To update a single contact method
$response = $this->sdk
  ->v2(new Machine())
  ->dealer(1)
  ->addresses()
  ->create([
    'property_name_number' => 'ITC Compliance, Unit 3',
    'street' => 'The Brooms',
    'city' => 'Bristol',
    'county' => 'South Gloucestershire',
    'postcode' => 'BS16 7FH',
  ]);

Response

{
  "data": {
    "id": 2,
    "dealer_id": 1,
    "property_name_number": "ITC Compliance, Unit 3",
    "street": "The Brooms",
    "city": "Bristol",
    "county": "South Gloucestershire",
    "postcode": "BS16 7FH",
    "dates": {
      "created_at": "2024-01-01 00:00:00",
      "updated_at": "2024-01-02 12:00:00",
      "deleted_at": null
    }
  }
}

DELETE/v2/dealers/:dealer_id/addresses

Delete Address

Will delete the active address for a dealer, without a replacement. Because a dealer can only have 1 active address at a time, there is no need to provide the address ID.

This endpoint will return a successful status even if no addresses were deleted (for example, if the dealer doesnt currently have an active address on file)

If the dealer previously had an active address, it will be returned in the response. If no records were deleted, the data key will be an empty object.

URL Parameters

  • Name
    dealer_id
    Required
    required
    Type
    integer
    Description

    ID of the dealer to delete the address of

Request

DELETE
/v2/dealers/:dealer_id/addresses
use Compliance\Sdk\ApexV3\Contracts\ApexV3SdkInterface;
use Compliance\Sdk\Authentication\Types\Machine;

private ApexV3SdkInterface $sdk;

// To update a single contact method
$response = $this->sdk
  ->v2(new Machine())
  ->dealer(1)
  ->addresses()
  ->delete();

Response

{
  "data": {
    "id": 2,
    "dealer_id": 1,
    "property_name_number": "ITC Compliance, Unit 3",
    "street": "The Brooms",
    "city": "Bristol",
    "county": "South Gloucestershire",
    "postcode": "BS16 7FH",
    "dates": {
      "created_at": "2024-01-01 00:00:00",
      "updated_at": "2024-01-02 12:00:00",
      "deleted_at": "2025-01-01 00:00:00"
    }
  }
}