# Edit Customer

## Endpoint

<mark style="color:purple;">**`PUT`**</mark> `https://api.xtrakit.com/api/v1/customers/{id}`

## Headers

`Authorization: Bearer API_KEY`

## **Path Parameters**

<table><thead><tr><th>Parameters</th><th width="100">Type</th><th>Description</th></tr></thead><tbody><tr><td><p>id</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The unique identifier of the customer. Should be passed through the URL</td></tr></tbody></table>

## Body Parameters

<table><thead><tr><th width="271">Parameters</th><th width="100">Type</th><th>Description</th></tr></thead><tbody><tr><td><p>customer_group_id</p><p><em><strong>int</strong></em></p></td><td>Optional</td><td>The ID of the group to which this customer belongs. </td></tr><tr><td><p>customer_name</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The full name of the customer, used for identification and personalization within the system.</td></tr><tr><td><p>customer_email</p><p><em><strong>string</strong></em></p></td><td>Optional</td><td>The email address of the customer, used for communications like receipts, notifications, or offers.</td></tr><tr><td><p>customer_phone</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The primary phone number for contacting the customer. It is useful for both communication and verification purposes.</td></tr><tr><td><p>customer_whatsapp</p><p><em><strong>string</strong></em></p></td><td>Optional</td><td>The customer's WhatsApp number. This is used for instant messaging or sending transactional notifications.</td></tr><tr><td><p>customer_country</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The country in which the customer resides. This is necessary for shipping, billing, or other region-specific activities.</td></tr><tr><td><p>customer_city</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The city where the customer is located. It helps in localizing deliveries, services, and communication.</td></tr><tr><td><p>customer_state</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The state or region where the customer is based. This is useful for regional identification within a country.</td></tr><tr><td><p>customer_zip</p><p><em><strong>string</strong></em></p></td><td>Optional</td><td><p>The postal code for the customer's location. It is generally used for mailing, shipping, and regional classification.</p><p><code>(eg: 00233)</code></p></td></tr><tr><td><p>address1</p><p>string</p></td><td>Required</td><td>The primary address of the customer, typically used for billing or shipping purposes. It can contain house numbers, street names, etc.</td></tr><tr><td><p>address2</p><p><em><strong>string</strong></em></p></td><td>Optional</td><td>The secondary address, such as apartment numbers or additional details not covered in address1. This is helpful when the customer's address is complex.</td></tr><tr><td><p>customer_profile</p><p>string</p></td><td>Optional</td><td>A URL or path to the customer's profile image, typically used for identification or personalization within the user interface.</td></tr><tr><td><p>created_by</p><p><em><strong>string</strong></em></p></td><td>Required</td><td>The identifier or username of the person who created this customer entry in the system. This helps in tracking changes and updates.</td></tr></tbody></table>

## Sample Requests <a href="#sample-requests" id="sample-requests"></a>

{% tabs %}
{% tab title="PHP" %}
{% code fullWidth="true" %}

```php
<?php
$id = 'CUSTOMER_ID'; // Replace 'CUSTOMER_ID' with your actual customer ID


$data = [
  'customer_group_id' => 1, 
  'customer_name' => "Jane Doe", 
  'customer_email' => "jane.doe@example.com", 
  'customer_phone' => "+233244567890", 
  'customer_whatsapp' => "+233244567890", 
  'customer_country' => "Ghana", 
  'customer_city' => "Accra", 
  'customer_state' => "Greater Accra", 
  'customer_zip' => "00233", 
  'address1' => "123 Main Street", 
  'address2' => "Apt 4B, Downtown Complex", 
  'customer_profile' => "https://example.com/profiles/customer123.jpg",
  "created_by" => "Edward"
];

$url = 'https://api.xtrakit.com/api/v1/customers/' . $id;

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'PUT',
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

?>
```

{% endcode %}
{% endtab %}

{% tab title="NodeJS" %}

```javascript
const axios = require('axios');

const id = 'CUSTOMER_ID'; // Replace 'CUSTOMER_ID' with your actual customer ID


const data = {
  'customer_group_id': 1, 
  'customer_name': "Jane Doe", 
  'customer_email': "jane.doe@example.com", 
  'customer_phone': "+233244567890", 
  'customer_whatsapp': "+233244567890", 
  'customer_country': "Ghana", 
  'customer_city': "Accra", 
  'customer_state': "Greater Accra", 
  'customer_zip': "00233", 
  'address1': "123 Main Street", 
  'address2': "Apt 4B, Downtown Complex", 
  'customer_profile': "https://example.com/profiles/customer123.jpg",
  "created_by": "Edward"
};

const config = {
    method: 'put',
    url: `https://api.xtrakit.com/api/v1/customers/{id}`,
    headers: {
        'Authorization': 'Bearer API_KEY' // Replace 'API_KEY' with your actual API key
    },
    data: data 
};

axios(config).then(function(response) {
    console.log(JSON.stringify(response.data));
}).catch(function(error) {
    console.error(error);
});
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

id = 'CUSTOMER_ID' # Replace 'CUSTOMER_ID' with your actual customer ID

data = {
  'customer_group_id': 1, 
  'customer_name': "Jane Doe", 
  'customer_email': "jane.doe@example.com", 
  'customer_phone': "+233244567890", 
  'customer_whatsapp': "+233244567890", 
  'customer_country': "Ghana", 
  'customer_city': "Accra", 
  'customer_state': "Greater Accra", 
  'customer_zip': "00233", 
  'address1': "123 Main Street", 
  'address2': "Apt 4B, Downtown Complex", 
  'customer_profile': "https://example.com/profiles/customer123.jpg",
  "created_by": "Edward"
}

url = f'https://api.xtrakit.com/api/v1/customers/{id}'

headers = {
    "Authorization": "Bearer API_KEY" # Replace 'API_KEY' with your actual API key
}

try:
    response = requests.put(url, headers=headers, json=data)
    print(response.json())
except requests.exceptions.RequestException as e:
    print(e)
```

{% endtab %}
{% endtabs %}

## Sample Response

{% tabs %}
{% tab title="Success" %}

```json
{
    "status": 200,
    "message": "Customer updated successfully",
    "data": {
        "customer": {
            "id": 1,
            "customer_group_id": 1,
            "customer_name": "Jane Doe",
            "customer_email": "jane.doe@example.com",
            "customer_phone": "+233244567890",
            "customer_whatsapp": "+233244567890",
            "customer_country": "Ghana",
            "customer_city": "Accra",
            "customer_state": "Greater Accra",
            "customer_zip": "00233",
            "address1": "123 Main Street",
            "address2": "Apt 4B, Downtown Complex",
            "customer_profile": "https://example.com/profiles/customer123.jpg",
            "created_by": "Edward",
            "created_at": "2024-08-04 08:23:45",
            "updated_at": "2024-08-04 02:00:43"        
        },
        "customer-group": [  
            {
                "id": 1,
                "group_name": "Premium Customers",
                "group_description": "Customers who have spent over $1000 and have been with the business for over a year.",
                "created_at": "2024-08-04 08:23:45",
                "updated_at": "2024-08-04 02:00:43"
            },
            ...
        ],
    }
}
```

{% endtab %}

{% tab title="Error" %}

```json
{
    "status": 401,
    "error": "Unauthorized: Missing Bearer Token"
},

{
    "status": 401,
    "error": "Unauthorized: Invalid API Key"
}
```

{% endtab %}
{% endtabs %}
