User Addresses

Manage delivery addresses (login required)

List Your Addresses

get

Get all saved delivery addresses for the logged-in user.

Query parameters
pageinteger · min: 1Optional

Page number (starts from 1)

Default: 1Example: 1
page_sizeinteger · min: 1Optional

Number of records per page

Default: 10Example: 10
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
200

List of addresses

application/json
get
/address/
GET /address/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*
{
  "count": 1,
  "next": "https://example.com",
  "previous": "https://example.com",
  "results": [
    {
      "pk": 1,
      "email": "[email protected]",
      "phone_number": "text",
      "first_name": "text",
      "last_name": "text",
      "country": 1,
      "city": 1,
      "line": "text",
      "title": "text",
      "township": 1,
      "district": 1,
      "postcode": "text",
      "notes": "text",
      "company_name": "text",
      "tax_office": "text",
      "tax_no": "text",
      "e_bill_taxpayer": true,
      "hash_data": "text",
      "address_type": "text",
      "retail_store": 1,
      "remote_id": "text",
      "identity_number": "text",
      "extra_field": {},
      "user": 1,
      "is_corporate": true,
      "primary": true
    }
  ]
}

Add New Address

post

Save a new delivery address.

Related Settings (Omnitron → Sales Channels → Dynamic Settings):

  • ADDRESS_PHONE_MIN_LENGTH (Integer, default: 11): Minimum phone number length. Example: Set to 10 for countries with shorter phone numbers.

  • ADDRESS_DISTRICT_REQUIRED (Boolean, default: False): Makes district field mandatory. Set to true to require district selection.

  • ADDRESS_SERIALIZER_FIELDS (Dictionary): Country-specific extra fields for addresses. Example:

    {
      "TR": [
        {"field": "tax_office", "validators": [], "kwargs": {}},
        {"field": "tax_no", "validators": [], "kwargs": {}}
      ]
    }

    Fields not in base Address model are stored in extra_field JSON column.

  • IDENTITY_NUMBER_VALIDATOR (String, default: "omnicore.address.validators.null_identity_validator"): Validates identity_number field. Options:

    • "omnicore.address.validators.null_identity_validator" - No validation

    • "omnicore.address.validators.tc_identity_number_validator" - Turkish ID validation

  • IDENTITY_NUMBER_REQUIRED_AMOUNT (Number, nullable, default: None): Order amount threshold requiring identity number. Example: 5000 means ID required for orders above 5000 TRY.

  • ANONYMOUS_ADDRESS_EXPIRE_SECONDS (Integer, default: 1800): How long to keep guest user addresses before cleanup (30 minutes by default).

Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
X-CSRFTokenstringRequired

CSRF token for write operations (POST, PUT, PATCH, DELETE). Required for security when using session authentication. Obtain token from cookie 'csrftoken' or meta tag in HTML.

Example: abc123def456ghi789
Body

Input schema for creating/updating addresses

emailstring · emailOptional
phone_numberstring · min: 11Required

International format, min 11 chars (e.g., +905551234567)

first_namestring · min: 2 · max: 30Required
last_namestring · min: 2 · max: 30Required
countryintegerRequired

Country ID

cityintegerRequired

City ID

linestring · min: 10 · max: 512Required

Street address

titlestring · min: 2 · max: 128Required

Address nickname (e.g., "Ev", "İş")

townshipintegerRequired

Township ID

districtintegerOptional

District ID (optional unless ADDRESS_DISTRICT_REQUIRED=True)

postcodestringOptional
notesstringOptional
company_namestring · max: 255Optional
tax_officestring · max: 255Optional
tax_nostring · max: 50Optional
e_bill_taxpayerbooleanOptional

Registered for e-invoicing?

retail_storeintegerOptional

Retail store ID for click-and-collect orders

identity_numberstringOptional

National ID (may be required for large orders)

primarybooleanOptional

Set as default address?

Responses
post
/address/
POST /address/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
X-CSRFToken: abc123def456ghi789
Content-Type: application/json
Accept: */*
Content-Length: 178

{
  "first_name": "Ayşe",
  "last_name": "Demir",
  "phone_number": "+905551234567",
  "country": 1,
  "city": 34,
  "township": 450,
  "line": "Bağdat Caddesi No:234 Daire:8",
  "title": "Ev",
  "primary": true
}
{
  "pk": 1,
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": 1,
  "city": 1,
  "line": "text",
  "title": "text",
  "township": 1,
  "district": 1,
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "hash_data": "text",
  "address_type": "text",
  "retail_store": 1,
  "remote_id": "text",
  "identity_number": "text",
  "extra_field": {},
  "user": 1,
  "is_corporate": true,
  "primary": true
}

Get Address Details

get

View a specific address by ID.

Path parameters
pkintegerRequired

Address ID

Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
200

Address details

application/json
get
/address/{pk}/
GET /address/{pk}/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*
{
  "pk": 1,
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": 1,
  "city": 1,
  "line": "text",
  "title": "text",
  "township": 1,
  "district": 1,
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "hash_data": "text",
  "address_type": "text",
  "retail_store": 1,
  "remote_id": "text",
  "identity_number": "text",
  "extra_field": {},
  "user": 1,
  "is_corporate": true,
  "primary": true
}

Update Address

put

Replace all fields of an address.

Path parameters
pkintegerRequired
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
X-CSRFTokenstringRequired

CSRF token for write operations (POST, PUT, PATCH, DELETE). Required for security when using session authentication. Obtain token from cookie 'csrftoken' or meta tag in HTML.

Example: abc123def456ghi789
Body

Input schema for creating/updating addresses

emailstring · emailOptional
phone_numberstring · min: 11Required

International format, min 11 chars (e.g., +905551234567)

first_namestring · min: 2 · max: 30Required
last_namestring · min: 2 · max: 30Required
countryintegerRequired

Country ID

cityintegerRequired

City ID

linestring · min: 10 · max: 512Required

Street address

titlestring · min: 2 · max: 128Required

Address nickname (e.g., "Ev", "İş")

townshipintegerRequired

Township ID

districtintegerOptional

District ID (optional unless ADDRESS_DISTRICT_REQUIRED=True)

postcodestringOptional
notesstringOptional
company_namestring · max: 255Optional
tax_officestring · max: 255Optional
tax_nostring · max: 50Optional
e_bill_taxpayerbooleanOptional

Registered for e-invoicing?

retail_storeintegerOptional

Retail store ID for click-and-collect orders

identity_numberstringOptional

National ID (may be required for large orders)

primarybooleanOptional

Set as default address?

Responses
200

Address updated

application/json
put
/address/{pk}/
PUT /address/{pk}/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
X-CSRFToken: abc123def456ghi789
Content-Type: application/json
Accept: */*
Content-Length: 334

{
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": 1,
  "city": 1,
  "line": "text",
  "title": "text",
  "township": 1,
  "district": 1,
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "retail_store": 1,
  "identity_number": "text",
  "primary": true
}
{
  "pk": 1,
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": 1,
  "city": 1,
  "line": "text",
  "title": "text",
  "township": 1,
  "district": 1,
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "hash_data": "text",
  "address_type": "text",
  "retail_store": 1,
  "remote_id": "text",
  "identity_number": "text",
  "extra_field": {},
  "user": 1,
  "is_corporate": true,
  "primary": true
}

Delete Address

delete

Remove an address from your account.

Path parameters
pkintegerRequired
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
delete
/address/{pk}/
DELETE /address/{pk}/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*

No content

Partially Update Address

patch

Update only specific fields.

Path parameters
pkintegerRequired
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
X-CSRFTokenstringRequired

CSRF token for write operations (POST, PUT, PATCH, DELETE). Required for security when using session authentication. Obtain token from cookie 'csrftoken' or meta tag in HTML.

Example: abc123def456ghi789
Body

Input schema for creating/updating addresses

emailstring · emailOptional
phone_numberstring · min: 11Required

International format, min 11 chars (e.g., +905551234567)

first_namestring · min: 2 · max: 30Required
last_namestring · min: 2 · max: 30Required
countryintegerRequired

Country ID

cityintegerRequired

City ID

linestring · min: 10 · max: 512Required

Street address

titlestring · min: 2 · max: 128Required

Address nickname (e.g., "Ev", "İş")

townshipintegerRequired

Township ID

districtintegerOptional

District ID (optional unless ADDRESS_DISTRICT_REQUIRED=True)

postcodestringOptional
notesstringOptional
company_namestring · max: 255Optional
tax_officestring · max: 255Optional
tax_nostring · max: 50Optional
e_bill_taxpayerbooleanOptional

Registered for e-invoicing?

retail_storeintegerOptional

Retail store ID for click-and-collect orders

identity_numberstringOptional

National ID (may be required for large orders)

primarybooleanOptional

Set as default address?

Responses
200

Address updated

application/json
patch
/address/{pk}/
PATCH /address/{pk}/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
X-CSRFToken: abc123def456ghi789
Content-Type: application/json
Accept: */*
Content-Length: 50

{
  "title": "Yeni Ev",
  "phone_number": "+905559876543"
}
{
  "pk": 1,
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": 1,
  "city": 1,
  "line": "text",
  "title": "text",
  "township": 1,
  "district": 1,
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "hash_data": "text",
  "address_type": "text",
  "retail_store": 1,
  "remote_id": "text",
  "identity_number": "text",
  "extra_field": {},
  "user": 1,
  "is_corporate": true,
  "primary": true
}

Get Detailed Address

get

View address with full geographic data (country, city, township, district objects).

Path parameters
pkintegerRequired
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
200

Detailed address data

application/json
get
/address/{pk}/detailed/
GET /address/{pk}/detailed/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*
{
  "pk": 1,
  "email": "[email protected]",
  "phone_number": "text",
  "first_name": "text",
  "last_name": "text",
  "country": {
    "pk": 1,
    "is_active": true,
    "name": "text",
    "code": "text",
    "translations": {}
  },
  "city": {
    "pk": 1,
    "is_active": true,
    "name": "text",
    "country": 1,
    "translations": {},
    "priority": 1,
    "postcode": "text"
  },
  "line": "text",
  "title": "text",
  "township": {
    "pk": 1,
    "is_active": true,
    "name": "text",
    "city": 1,
    "postcode": "text",
    "translations": {}
  },
  "district": {
    "pk": 1,
    "is_active": true,
    "name": "text",
    "city": 1,
    "township": 1,
    "postcode": "text",
    "translations": {}
  },
  "postcode": "text",
  "notes": "text",
  "company_name": "text",
  "tax_office": "text",
  "tax_no": "text",
  "e_bill_taxpayer": true,
  "hash_data": "text",
  "address_type": "text",
  "retail_store": {
    "pk": 1,
    "name": "text",
    "township": 1,
    "district": 1,
    "address": "text",
    "phone_number": "text",
    "fax_phone_number": "text",
    "image": "text",
    "image_path": "text",
    "erp_code": "text",
    "store_hours": [
      [
        "15:07:49"
      ]
    ],
    "latitude": 1,
    "longitude": 1,
    "is_active": true,
    "click_and_collect": true,
    "store_type": 1,
    "kapida_enabled": true,
    "fast_delivery": true,
    "config": {},
    "group": 1,
    "sort_order": 1,
    "translations": {},
    "related_retail_stores": [
      1
    ],
    "created_date": "2025-12-01T15:07:49.449Z",
    "modified_date": "2025-12-01T15:07:49.449Z"
  },
  "remote_id": "text",
  "identity_number": "text",
  "extra_field": {},
  "user": {
    "pk": 1,
    "email": "text",
    "first_name": "text",
    "last_name": "text"
  },
  "is_corporate": true,
  "primary": true
}

Set Default Address

patch

Mark this address as your default.

Send {"primary": true} to set as default address.

Path parameters
pkintegerRequired
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
X-CSRFTokenstringRequired

CSRF token for write operations (POST, PUT, PATCH, DELETE). Required for security when using session authentication. Obtain token from cookie 'csrftoken' or meta tag in HTML.

Example: abc123def456ghi789
Body
primarybooleanOptional
Responses
200

Default address updated

application/json
patch
/address/{pk}/set-address/
PATCH /address/{pk}/set-address/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
X-CSRFToken: abc123def456ghi789
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "primary": true
}
{
  "address": {
    "pk": 1,
    "email": "[email protected]",
    "phone_number": "text",
    "first_name": "text",
    "last_name": "text",
    "country": 1,
    "city": 1,
    "line": "text",
    "title": "text",
    "township": 1,
    "district": 1,
    "postcode": "text",
    "notes": "text",
    "company_name": "text",
    "tax_office": "text",
    "tax_no": "text",
    "e_bill_taxpayer": true,
    "hash_data": "text",
    "address_type": "text",
    "retail_store": 1,
    "remote_id": "text",
    "identity_number": "text",
    "extra_field": {},
    "user": 1,
    "is_corporate": true,
    "primary": true
  }
}

List Detailed Addresses

get

Get all addresses with full geographic data.

Query parameters
pageinteger · min: 1Optional

Page number (starts from 1)

Default: 1Example: 1
page_sizeinteger · min: 1Optional

Number of records per page

Default: 10Example: 10
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
200

List of detailed addresses

application/json
get
/address/detailed/
GET /address/detailed/ HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*
{
  "count": 1,
  "next": "https://example.com",
  "previous": "https://example.com",
  "results": [
    {
      "pk": 1,
      "email": "[email protected]",
      "phone_number": "text",
      "first_name": "text",
      "last_name": "text",
      "country": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "code": "text",
        "translations": {}
      },
      "city": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "country": 1,
        "translations": {},
        "priority": 1,
        "postcode": "text"
      },
      "line": "text",
      "title": "text",
      "township": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "city": 1,
        "postcode": "text",
        "translations": {}
      },
      "district": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "city": 1,
        "township": 1,
        "postcode": "text",
        "translations": {}
      },
      "postcode": "text",
      "notes": "text",
      "company_name": "text",
      "tax_office": "text",
      "tax_no": "text",
      "e_bill_taxpayer": true,
      "hash_data": "text",
      "address_type": "text",
      "retail_store": {
        "pk": 1,
        "name": "text",
        "township": 1,
        "district": 1,
        "address": "text",
        "phone_number": "text",
        "fax_phone_number": "text",
        "image": "text",
        "image_path": "text",
        "erp_code": "text",
        "store_hours": [
          [
            "15:07:49"
          ]
        ],
        "latitude": 1,
        "longitude": 1,
        "is_active": true,
        "click_and_collect": true,
        "store_type": 1,
        "kapida_enabled": true,
        "fast_delivery": true,
        "config": {},
        "group": 1,
        "sort_order": 1,
        "translations": {},
        "related_retail_stores": [
          1
        ],
        "created_date": "2025-12-01T15:07:49.449Z",
        "modified_date": "2025-12-01T15:07:49.449Z"
      },
      "remote_id": "text",
      "identity_number": "text",
      "extra_field": {},
      "user": {
        "pk": 1,
        "email": "text",
        "first_name": "text",
        "last_name": "text"
      },
      "is_corporate": true,
      "primary": true
    }
  ]
}

Search Addresses by Postcode

get

Find addresses by postal code.

Returns geographic data (country, city, township, district objects) matching the postcode.

Query parameters
postcodestring · min: 1Required

Postal code to search (minimum 1 character)

countryintegerOptional

Filter by country ID

pageinteger · min: 1Optional

Page number (starts from 1)

Default: 1Example: 1
page_sizeinteger · min: 1Optional

Number of records per page

Default: 10Example: 10
Header parameters
X-CookiestringRequired

Use the X-Cookie header instead of the Cookie header in the “TEST IT” section. When testing via Postman or other external tools, continue using the standard Cookie header. Some commerce applications may use 'sessionid' instead of 'osessionid'. Set 'ENABLE_X_COOKIE_HEADER = True' in your project environments to enable the “TEST IT” feature. This setting should be applied only for the “TEST IT” button.

Example: osessionid=abc123
Accept-Languagestring · enumOptional

Language preference (for multilingual content). Supported languages: tr, en, ar, ru, de, fr

Default: trExample: trPossible values:
Responses
200

Matching geographic data

application/json
get
/address/query/
GET /address/query/?postcode=text HTTP/1.1
Host: sandbox.akinon.com
X-Cookie: osessionid=abc123
Accept: */*
{
  "count": 1,
  "next": "https://example.com",
  "previous": "https://example.com",
  "results": [
    {
      "country": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "code": "text",
        "translations": {}
      },
      "city": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "country": 1,
        "translations": {},
        "priority": 1,
        "postcode": "text"
      },
      "township": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "city": 1,
        "postcode": "text",
        "translations": {}
      },
      "district": {
        "pk": 1,
        "is_active": true,
        "name": "text",
        "city": 1,
        "township": 1,
        "postcode": "text",
        "translations": {}
      }
    }
  ]
}

Last updated

Was this helpful?