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 benull
. 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
}
}
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. Iffalse
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
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
}
}
]
}
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
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
}
}
}
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
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 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
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"
}
}
}