# Customers

## Retrieve Customer

> Retrieve a specific Customer instance by ID

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"id_path":{"name":"id","in":"path","description":"Unique identifier of the resource","required":true,"schema":{"type":"integer"}}},"schemas":{"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/{id}/":{"get":{"summary":"Retrieve Customer","description":"Retrieve a specific Customer instance by ID","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/id_path"}],"responses":{"200":{"description":"Customer retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Update Customer

> Update an existing Customer instance by ID

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"id_path":{"name":"id","in":"path","description":"Unique identifier of the resource","required":true,"schema":{"type":"integer"}}},"schemas":{"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/{id}/":{"put":{"summary":"Update Customer","description":"Update an existing Customer instance by ID","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/id_path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"responses":{"200":{"description":"Customer updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Delete Customer

> Delete a specific Customer instance by ID

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"id_path":{"name":"id","in":"path","description":"Unique identifier of the resource","required":true,"schema":{"type":"integer"}}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/{id}/":{"delete":{"summary":"Delete Customer","description":"Delete a specific Customer instance by ID","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/id_path"}],"responses":{"204":{"description":"Customer deleted successfully"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Partially Update Customer

> Partially update an existing Customer instance by ID

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"id_path":{"name":"id","in":"path","description":"Unique identifier of the resource","required":true,"schema":{"type":"integer"}}},"schemas":{"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/{id}/":{"patch":{"summary":"Partially Update Customer","description":"Partially update an existing Customer instance by ID","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/id_path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"responses":{"200":{"description":"Customer updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Retrieve Customer with Details

> Retrieve a specific Customer instance by ID with additional details

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"id_path":{"name":"id","in":"path","description":"Unique identifier of the resource","required":true,"schema":{"type":"integer"}}},"schemas":{"CustomerDetailed":{"type":"object","allOf":[{"$ref":"#/components/schemas/Customer"}],"properties":{"channel":{"$ref":"#/components/schemas/Channel"},"orders_info":{"type":"object","properties":{"total_order_amount":{"type":"number","nullable":true},"total_refund_amount":{"type":"number","nullable":true},"total_discount_amount":{"type":"number","nullable":true},"total_order_count":{"type":"integer"}}}}},"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]},"Channel":{"type":"object","required":["name","catalog","channel_type","conf","is_active"],"properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"catalog":{"type":"integer"},"channel_type":{"type":"string","description":"The type of channel. ex: web, distributed, hepsiburada, etc.","enum":["hepsiburada","hepsiburadads","gittigidiyor","n11","web","feed","trendyol","morhipo","morhipoV2","lidyana","amazon","allegro","distributed","aliexpress","emag","ciceksepeti","gordumaldim","pazarama","flo","turkcellds","sales_channel"]},"conf":{"type":"object","description":"A JSON object containing configuration settings for the channel.","additionalProperties":{"type":"string"}},"category_tree":{"type":"string","nullable":true,"description":"The category tree related to this channel."},"is_active":{"type":"boolean","description":"Specifies whether the channel is active.","default":true},"schema":{"type":"object","description":"Additional schema information for the channel.","nullable":true},"created_date":{"type":"string","format":"date-time","readOnly":true},"modified_date":{"type":"string","format":"date-time"}}}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/{id}/detailed/":{"get":{"summary":"Retrieve Customer with Details","description":"Retrieve a specific Customer instance by ID with additional details","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/id_path"}],"responses":{"200":{"description":"Customer with details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerDetailed"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## List Customers

> Retrieve a list of customers with optional filters

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"page":{"name":"page","in":"query","required":false,"description":"Specifies the page number of the current dataset","schema":{"type":"integer","minimum":1,"default":1}},"limit":{"name":"limit","in":"query","required":false,"description":"Indicates the number of rows on the current page.","schema":{"type":"integer","minimum":1,"default":10}},"email":{"name":"email","in":"query","description":"Email address of the customer","required":false,"schema":{"type":"string","format":"email"}},"email__startswith":{"name":"email__startswith","in":"query","description":"Email address of the customer starting with the specified value","required":false,"schema":{"type":"string"}},"channel":{"name":"channel","in":"query","description":"ID of the channel the customer belongs to","required":false,"schema":{"type":"integer"}},"channel_code":{"name":"channel_code","in":"query","description":"Code representing the channel the customer belongs to","required":false,"schema":{"type":"string"}},"phone_number":{"name":"phone_number","in":"query","description":"Phone number of the customer","required":false,"schema":{"type":"string"}},"created_date":{"name":"created_date","in":"query","required":false,"description":"Filter by creation date using supported lookup expressions (e.g., `gt`, `gte`, `lt`, `lte`, `date__gt`, etc.).","schema":{"type":"string","format":"date-time"}},"pk__in":{"name":"pk__in","in":"query","description":"Filter by multiple primary key values (comma-separated list of integers)","required":false,"schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":false},"extra_field__some_key":{"name":"extra_field__some_key","in":"query","description":"Filter by a specific key in the 'extra_field' JSON object.","required":false,"schema":{"type":"string"}},"attributes__some_key":{"name":"attributes__some_key","in":"query","description":"Filter by a specific key in the 'attributes' JSON object.","required":false,"schema":{"type":"string"}},"first_name":{"name":"first_name","in":"query","description":"First name of the customer","required":false,"schema":{"type":"string"}},"last_name":{"name":"last_name","in":"query","description":"Last name of the customer","required":false,"schema":{"type":"string"}},"erp_code":{"name":"erp_code","in":"query","description":"Filter by ERP code (contains)","required":false,"schema":{"type":"string"}},"email_allowed":{"name":"email_allowed","in":"query","description":"Indicates if the customer allows receiving emails","required":false,"schema":{"type":"boolean"}},"sms_allowed":{"name":"sms_allowed","in":"query","description":"Indicates if the customer allows receiving SMS","required":false,"schema":{"type":"boolean"}},"call_allowed":{"name":"call_allowed","in":"query","description":"Indicates if the customer allows receiving calls","required":false,"schema":{"type":"boolean"}},"date_joined":{"name":"date_joined","in":"query","description":"The date when the customer joined","required":false,"schema":{"type":"string","format":"date-time"}},"gender":{"name":"gender","in":"query","description":"Filter by gender","required":false,"schema":{"type":"string","enum":["male","female"]}},"user_type":{"name":"user_type","in":"query","description":"Filter by user type","required":false,"schema":{"type":"string","enum":["guest","registered"]}},"date_of_birth":{"name":"date_of_birth","in":"query","description":"Filter by date of birth","required":false,"schema":{"type":"string","format":"date"}}},"schemas":{"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]}},"responses":{"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/":{"get":{"summary":"List Customers","description":"Retrieve a list of customers with optional filters","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/email"},{"$ref":"#/components/parameters/email__startswith"},{"$ref":"#/components/parameters/channel"},{"$ref":"#/components/parameters/channel_code"},{"$ref":"#/components/parameters/phone_number"},{"$ref":"#/components/parameters/created_date"},{"$ref":"#/components/parameters/pk__in"},{"$ref":"#/components/parameters/extra_field__some_key"},{"$ref":"#/components/parameters/attributes__some_key"},{"$ref":"#/components/parameters/first_name"},{"$ref":"#/components/parameters/last_name"},{"$ref":"#/components/parameters/erp_code"},{"$ref":"#/components/parameters/email_allowed"},{"$ref":"#/components/parameters/sms_allowed"},{"$ref":"#/components/parameters/call_allowed"},{"$ref":"#/components/parameters/date_joined"},{"$ref":"#/components/parameters/gender"},{"$ref":"#/components/parameters/user_type"},{"$ref":"#/components/parameters/date_of_birth"}],"responses":{"200":{"description":"List of Customers","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Customer"}}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Create a new Customer

> Create a new Customer instance

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"schemas":{"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]}},"responses":{"400":{"description":"Required field(s) are missing, data is invalid, or the action is not allowed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"field":{"oneOf":[{"type":"array","description":"Indicates that no value was provided for the {field} field in the request.","items":{"type":"string"}},{"type":"array","description":"Indicates usage of a non-existent object for {field} in the request.","items":{"type":"string"}}]},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"non_field_errors":{"description":"Indicates invalid data or action usage in the request.","type":"array","items":{"type":"string"}},"code":{"type":"string","description":"Represents the server-side error code."}}},{"type":"object","properties":{"detail":{"description":"Provides a detailed message for the given error.","type":"string"},"code":{"type":"string","description":"Represents the server-side error code."}}}]}}}},"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/":{"post":{"summary":"Create a new Customer","description":"Create a new Customer instance","tags":["Customers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"responses":{"201":{"description":"Customer created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## List Customers with Details

> Retrieve a detailed list of customers with optional filters

```json
{"openapi":"3.0.3","info":{"title":"Omnitron API","version":"1.0.0"},"security":[{"Token":[]}],"components":{"securitySchemes":{"Token":{"type":"apiKey","in":"header","name":"Authorization"}},"parameters":{"page":{"name":"page","in":"query","required":false,"description":"Specifies the page number of the current dataset","schema":{"type":"integer","minimum":1,"default":1}},"limit":{"name":"limit","in":"query","required":false,"description":"Indicates the number of rows on the current page.","schema":{"type":"integer","minimum":1,"default":10}},"email":{"name":"email","in":"query","description":"Email address of the customer","required":false,"schema":{"type":"string","format":"email"}},"email__startswith":{"name":"email__startswith","in":"query","description":"Email address of the customer starting with the specified value","required":false,"schema":{"type":"string"}},"channel":{"name":"channel","in":"query","description":"ID of the channel the customer belongs to","required":false,"schema":{"type":"integer"}},"channel_code":{"name":"channel_code","in":"query","description":"Code representing the channel the customer belongs to","required":false,"schema":{"type":"string"}},"phone_number":{"name":"phone_number","in":"query","description":"Phone number of the customer","required":false,"schema":{"type":"string"}},"created_date":{"name":"created_date","in":"query","required":false,"description":"Filter by creation date using supported lookup expressions (e.g., `gt`, `gte`, `lt`, `lte`, `date__gt`, etc.).","schema":{"type":"string","format":"date-time"}},"pk__in":{"name":"pk__in","in":"query","description":"Filter by multiple primary key values (comma-separated list of integers)","required":false,"schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":false},"extra_field__some_key":{"name":"extra_field__some_key","in":"query","description":"Filter by a specific key in the 'extra_field' JSON object.","required":false,"schema":{"type":"string"}},"attributes__some_key":{"name":"attributes__some_key","in":"query","description":"Filter by a specific key in the 'attributes' JSON object.","required":false,"schema":{"type":"string"}},"first_name":{"name":"first_name","in":"query","description":"First name of the customer","required":false,"schema":{"type":"string"}},"last_name":{"name":"last_name","in":"query","description":"Last name of the customer","required":false,"schema":{"type":"string"}},"erp_code":{"name":"erp_code","in":"query","description":"Filter by ERP code (contains)","required":false,"schema":{"type":"string"}},"email_allowed":{"name":"email_allowed","in":"query","description":"Indicates if the customer allows receiving emails","required":false,"schema":{"type":"boolean"}},"sms_allowed":{"name":"sms_allowed","in":"query","description":"Indicates if the customer allows receiving SMS","required":false,"schema":{"type":"boolean"}},"call_allowed":{"name":"call_allowed","in":"query","description":"Indicates if the customer allows receiving calls","required":false,"schema":{"type":"boolean"}},"date_joined":{"name":"date_joined","in":"query","description":"The date when the customer joined","required":false,"schema":{"type":"string","format":"date-time"}},"gender":{"name":"gender","in":"query","description":"Filter by gender","required":false,"schema":{"type":"string","enum":["male","female"]}},"user_type":{"name":"user_type","in":"query","description":"Filter by user type","required":false,"schema":{"type":"string","enum":["guest","registered"]}},"date_of_birth":{"name":"date_of_birth","in":"query","description":"Filter by date of birth","required":false,"schema":{"type":"string","format":"date"}}},"schemas":{"CustomerDetailed":{"type":"object","allOf":[{"$ref":"#/components/schemas/Customer"}],"properties":{"channel":{"$ref":"#/components/schemas/Channel"},"orders_info":{"type":"object","properties":{"total_order_amount":{"type":"number","nullable":true},"total_refund_amount":{"type":"number","nullable":true},"total_discount_amount":{"type":"number","nullable":true},"total_order_count":{"type":"integer"}}}}},"Customer":{"type":"object","properties":{"pk":{"format":"int64","readOnly":true,"description":"Customer ID"},"email":{"type":"string","format":"email","description":"Email address of the customer"},"first_name":{"type":"string","description":"First name of the customer","maxLength":255},"last_name":{"type":"string","description":"Last name of the customer","maxLength":255},"phone_number":{"type":"string","description":"Phone number of the customer","nullable":true,"maxLength":128},"is_active":{"type":"boolean","description":"Indicates if the customer is active","default":false},"channel_code":{"type":"string","description":"Code representing the channel the customer belongs to","maxLength":64},"erp_code":{"type":"string","description":"Partner customer code (ERP code)","nullable":true,"maxLength":64},"attributes":{"type":"object","description":"Attributes as a JSON object"},"attribute_kwargs":{"type":"object","description":"Attribute kwargs as a JSON object"},"localized_attributes":{"type":"object","description":"Localized attributes as a JSON object"},"localized_attribute_kwargs":{"type":"object","description":"Localized attribute kwargs as a JSON object"},"extra_field":{"type":"object","description":"Additional fields as a JSON object"},"email_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving emails"},"sms_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving SMS"},"call_allowed":{"type":"boolean","description":"Indicates if the customer allows receiving calls"},"date_joined":{"type":"string","format":"date-time","description":"The date when the customer joined","nullable":true},"gender":{"type":"string","description":"Gender of the customer","nullable":true,"enum":["male","female"]},"user_type":{"type":"string","description":"Type of user","nullable":true,"enum":["guest","registered"]},"date_of_birth":{"type":"string","format":"date","description":"Date of birth of the customer","nullable":true},"channel":{"type":"integer","nullable":true,"description":"ID of the channel the customer belongs to"}},"required":["email","channel_code","is_active","email_allowed","sms_allowed","call_allowed"]},"Channel":{"type":"object","required":["name","catalog","channel_type","conf","is_active"],"properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":255},"catalog":{"type":"integer"},"channel_type":{"type":"string","description":"The type of channel. ex: web, distributed, hepsiburada, etc.","enum":["hepsiburada","hepsiburadads","gittigidiyor","n11","web","feed","trendyol","morhipo","morhipoV2","lidyana","amazon","allegro","distributed","aliexpress","emag","ciceksepeti","gordumaldim","pazarama","flo","turkcellds","sales_channel"]},"conf":{"type":"object","description":"A JSON object containing configuration settings for the channel.","additionalProperties":{"type":"string"}},"category_tree":{"type":"string","nullable":true,"description":"The category tree related to this channel."},"is_active":{"type":"boolean","description":"Specifies whether the channel is active.","default":true},"schema":{"type":"object","description":"Additional schema information for the channel.","nullable":true},"created_date":{"type":"string","format":"date-time","readOnly":true},"modified_date":{"type":"string","format":"date-time"}}}},"responses":{"401":{"description":"Unauthorized Access","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Contains a detailed description of the error."},"code":{"type":"string","description":"Represents the server-side error code."}}}}}},"404":{"description":"The given resource or object was not found or does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"description":"Contains a detailed description of the error.","type":"string"}}}}}},"500":{"description":"Server Error"}}},"paths":{"/api/v1/customers/detailed/":{"get":{"summary":"List Customers with Details","description":"Retrieve a detailed list of customers with optional filters","tags":["Customers"],"parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/email"},{"$ref":"#/components/parameters/email__startswith"},{"$ref":"#/components/parameters/channel"},{"$ref":"#/components/parameters/channel_code"},{"$ref":"#/components/parameters/phone_number"},{"$ref":"#/components/parameters/created_date"},{"$ref":"#/components/parameters/pk__in"},{"$ref":"#/components/parameters/extra_field__some_key"},{"$ref":"#/components/parameters/attributes__some_key"},{"$ref":"#/components/parameters/first_name"},{"$ref":"#/components/parameters/last_name"},{"$ref":"#/components/parameters/erp_code"},{"$ref":"#/components/parameters/email_allowed"},{"$ref":"#/components/parameters/sms_allowed"},{"$ref":"#/components/parameters/call_allowed"},{"$ref":"#/components/parameters/date_joined"},{"$ref":"#/components/parameters/gender"},{"$ref":"#/components/parameters/user_type"},{"$ref":"#/components/parameters/date_of_birth"}],"responses":{"200":{"description":"List of Customers with Details","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerDetailed"}}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.akinon.com/omnitron-openapis/customers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
