Creating a Sub-Dealer
Endpoints
- List all dealers:
GET /vendor/dealer - Single dealer detail (code):
GET /vendor/dealer/{code} - Single dealer detail (erpCode):
GET /vendor/dealer/{erpCode}
HTTP Method: GET
Request Content-Type: application/json (optional)
Response Content-Type: application/json
Authorization: Valid AccessToken is required. (See: 2. Authentication – Obtaining AccessToken)
Description
This service is used to list dealer records or view the details of a single dealer.
- If the route parameter
codeorerpCodeis provided, only a single record is returned. - If no parameter is provided, a paginated list is returned.
- Multiple route parameters cannot be used simultaneously.
Header Information
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Valid token in Bearer {AccessToken} format |
| Content-Type | Yes | application/json |
Route Parameters - Single Record
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | One of the two | Dealer user code |
| erpCode | string | One of the two | Dealer ERP code |
Note: Either code or erpCode should be used; both cannot be sent together.
Query Parameters – Pagination (Listing)
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | No | Page to retrieve (default: 1) |
| pageSize | integer | No | Records per page (default: 10, max: 100) |
Request Body
Vendor (Sub-Dealer) Fields
| Field | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | Dealer code (unique) |
| name | string | Yes | Dealer name |
| address | string | No | Address |
| cityCode | string | No | City code |
| districtCode | string | No | District code |
| countryCode | string | Yes | Country code (e.g., "TR") |
| erpCode | string | Yes | ERP code (unique) |
| taxNumber | string | Conditional | Required if isCompany = true |
| taxOffice | string | Conditional | Required if isCompany = true |
| isCompany | boolean | Yes | true for corporate, false for individual |
| isForeignNational | boolean | No | Is foreign national |
| phone | string | No | Phone |
| paymentSetId | string | No | Default payment set ID |
| usablePaymentSetDefinitionIds | array | No | List of usable payment set IDs |
| paymentExCurrencyType | string | No | Payment currency type |
| currencyCode | string | No | Currency code (e.g., "TRY") |
| parentTenantId | string | No | Parent tenant ID |
| customerRepresentativeIds | array | No | List of representative IDs |
| isActive | boolean | No | Active/inactive |
| users | array<User> | No | List of users associated with the dealer |
Users (Sub-Dealer User) Fields
| Field | Type | Required | Description |
|---|---|---|---|
| userCode | string | Yes | User code |
| name | string | Yes | First name |
| surname | string | Yes | Last name |
| string | Yes | ||
| gsm | string | Yes | Mobile phone |
| title | string | No | Title |
| description | string | No | Description |
| erpCode | string | No | ERP code |
| isActive | boolean | No | Active/inactive |
| isCompany | boolean | No | Corporate? |
| isForeignNational | boolean | No | Foreign national? |
| tckn | string | No | TCKN (if individual) |
| paymentSetId | string | No | Payment set |
| roles | array | No | List of roles |
| canUseMobile | boolean | No | Mobile usage allowed |
| userType | string | No | User type |
| countryCode, cityCode, address, currencyCode | various | No | May be returned by system; optional |
Note: In the response schema, the field userCode is returned; in create/update endpoints, the request body mostly uses code. (Pay attention to read/write field name differences.)
- Example Request
- Successful Response
{
"code": "742",
"phone": "5000000000",
"countryCode": "TR",
"cityCode": "10",
"districtCode": 494,
"currencyCode": "TRY",
"erpCode": "742",
"address": "TEST ADDRESS",
"taxNumber": "00000000000",
"paymentSetId": "315ef729-bf70-ff12-5e3f-ca7a7ff6867d",
"customerRepresentativeIds": [
"8fc535a7-3a0c-4994-b19b-0f3c4da748a5"
],
"isForeignNational": false,
"isCompany": false,
"name": "TEST VENDOR SUB-DEALER",
"parentTenantId": "958949df-0d90-4851-bcb8-1acb62c4dc95",
"users": [
{
"canUseMobile": false,
"description": "test",
"email": "[email protected]",
"code": "722",
"gsm": "5000000000",
"isActive": true,
"name": "test",
"surname": "user",
"roles": [
"2d37006c-6000-4315-90fe-2dc2fe1fb184"
],
"sendMail": false,
"userType": 8248
//"tckn": "string"
}
],
"mainDealerCode": "NT65126658"
}
{
"status": "success",
"message": "Dealer created successfully.",
"customerId": "b509cf31-b7aa-44d6-bb00-553e739b64a6"
}
Note: In previous examples, the message mentioned “Customer” and the field was customerId; for a sub-dealer, it has been updated appropriately: subDealerId.
Notes & Best Practices
- The mainDealerCode field is required. A sub-dealer must be associated with a main dealer.
- isCompany = true (corporate) requires
taxNumberandtaxOffice. - usablePaymentSetDefinitionIds supports multiple payment set definitions as a list.
- sendMail = true sends a system email to the created user(s).
- Token Expiration: If the token expires, the request returns
401 Unauthorized; obtain a new token and retry. - It is recommended that
code,erpCode, andmainDealerCodefields are unique.