Update a Customer

Updates certain modifiable attributes of a customer object in your ChartMogul account.

Examples
curl -X PATCH "https://api.chartmogul.com/v1/customers/cus_ab223d54-75b4-431b-adb2-eb6b9e234571" \
       -u <token>:<secret> \
       -H  "Content-Type: application/json" \
       -d '{
            "lead_created_at": "2015-01-01 00:00:00",
            "free_trial_started_at": "2015-06-13 15:45:13",
            "city": "San Francisco",
            "country": "US",
            "state": "CA",
            "attributes": {
              "tags": ["high-value"],
              "custom": {
                "CAC": 25,
                "channel": {"value": "Twitter", "source": "integration2"}
              }
             }
           }'
customer = ChartMogul::Customer.retrieve("cus_ab223d54-75b4-431b-adb2-eb6b9e234571")

customer.lead_created_at = Time.utc(2015,1,1)
customer.free_trial_started_at = Time.utc(2015,6,13,15,45,13)
customer.city = "San Francisco"
customer.country = "US"
customer.state = "CA"
customer.attributes[:tags] = ["high-value"]
customer.attributes[:custom] = {"CAC": 25, "channel": {"value": "Twitter", "source": "integration2"}}

customer.update!
var customerUuid = "cus_ab223d54-75b4-431b-adb2-eb6b9e234571";

var data = {
    "lead_created_at": "2015-01-01 00:00:00",
    "free_trial_started_at": "2015-06-13 15:45:13",
    "city": "San Francisco",
    "country": "US",
    "state": "CA",
    "attributes": {
        "tags": ["high-value"],
        "custom": {
            "CAC": 25,
            "channel": {"value": "Twitter", "source": "integration2"}
        }
    }
};

ChartMogul.Customer.modify(config, customerUuid, data);
<?php

ChartMogul\Customer::update([
    'customer_uuid' => "cus_ab223d54-75b4-431b-adb2-eb6b9e234571"
        ], [
    "lead_created_at" => "2015-01-01 00:00:00",
    "free_trial_started_at" => "2015-06-13 15:45:13",
    "city" => "San Francisco",
    "country" => "US",
    "state" => "CA",
    "attributes" => [
        "tags" => ["high-value"],
        "custom" => [
            "CAC" => 25,
            "channel" => ["value" => "Twitter", "source" => "integration2"]
        ]
    ]
]);
?>
api.UpdateCustomer(&cm.Customer{
        LeadCreatedAt:      "2015-01-01 00:00:00",
        FreeTrialStartedAt: "2015-06-13 15:45:13",
        City:               "San Francisco",
        Country:            "US",
        State:              "CA",
        Attributes: &cm.Attributes{
            Tags: []string{"high-value"},
            Custom: map[string]interface{}{
                "CAC": 25,
        "channel": cm.AttributeWithSource{
          Value: "Twitter",
          Source: "integration2",
        },
            }}}, "cus_ab223d54-75b4-431b-adb2-eb6b9e234571")
chartmogul.Customer.modify(
    config,
    uuid="cus_ab223d54-75b4-431b-adb2-eb6b9e234571",
    data={
      "lead_created_at": "2015-01-01 00:00:00",
      "free_trial_started_at": "2015-06-13 15:45:13",
      "city": "San Francisco",
      "country": "US",
      "state": "CA",
      "attributes": {
        "tags": ["high-value"],
        "custom": {
          "CAC": 25,
          "channel": {"value": "Twitter", "source": "integration2"}
        }
      }
    })
Result Format
{
    "id": 12150249,
    "uuid": "cus_ab223d54-75b4-431b-adb2-eb6b9e234571",
    "data_source_uuid": "ds_fef05d54-47b4-431b-aed2-eb6b9e545430",
    "data_source_uuids": ["ds_fef05d54-47b4-431b-aed2-eb6b9e545430"],
    "external_id": "34916129",
    "external_ids": ["34916129"],
    "name": "Ben",
    "email": "[email protected]",
    "company": "Example Company",
    "city": "San Francisco",
    "country": "US",
    "state": "CA",
    "zip": "99801",
    "lead_created_at": "2015-01-01T00:00:00.000Z",
    "free_trial_started_at": "2015-06-13T15:45:13.000Z",
    "customer-since": "2015-06-19T13:16:00-04:00",
    "status": "Active",
    "address": {
      "address_zip": "99801",
      "city": "San Francisco",
      "country": "US",
      "state": "CA"
     },
    "attributes": {
      "custom": {
        "CAC": 25,
        "SalesRep": "Mike",
      },
      "clearbit": {},
      "stripe": {},
      "tags": ["high-value"]
    },
    "mrr": 3000,
    "arr": 36000,
    "billing-system-url": "",
    "chartmogul-url": "https:\/\/app.chartmogul.com\/#customers\/12150249-Example_Company",
    "billing-system-type": "Custom",
    "currency": "USD",
    "currency-sign": "$"
}
#<ChartMogul::Customer:0x0000000349d6a0
 @address=
  {:country=>"United States",
   :state=>"California",
   :city=>"San Francisco",
   :address_zip=>"99801"},
 @arr=36000,
 @attributes=
  {:custom=>{:CAC=>25, :SalesRep=>"Mike"},
   :clearbit=>{},
   :stripe=>{},
   :tags=>["high-value"]},
 @billing_system_type="Custom",
 @billing_system_url=nil,
 @chartmogul_url="https://app.chartmogul.com/#customers/12150249-Example_Company",
 @city="San Francisco",
 @company="Example Company",
 @country="US",
 @currency="USD",
 @currency_sign="$",
 @customer_since=2017-01-19 15:29:46 +0000,
 @data_source_uuid="ds_fef05d54-47b4-431b-aed2-eb6b9e545430",
 @data_source_uuids=["ds_fef05d54-47b4-431b-aed2-eb6b9e545430"],
 @email="[email protected]",
 @external_id="34916129",
 @external_ids=["34916129"],
 @free_trial_started_at=2015-06-13 15:45:13 UTC,
 @id=12150249,
 @lead_created_at=2015-01-01 00:00:00 UTC,
 @mrr=3000,
 @name="Ben",
 @state="CA",
 @status="Active",
 @uuid="cus_ab223d54-75b4-431b-adb2-eb6b9e234571",
 @zip="99801">
{
    "id": 12150249,
    "uuid": "cus_ab223d54-75b4-431b-adb2-eb6b9e234571",
    "data_source_uuid": "ds_fef05d54-47b4-431b-aed2-eb6b9e545430",
    "data_source_uuids": ["ds_fef05d54-47b4-431b-aed2-eb6b9e545430"],
    "external_id": "34916129",
    "external_ids": ["34916129"],
    "name": "Ben",
    "email": "[email protected]",
    "company": "Example Company",
    "city": "San Francisco",
    "country": "US",
    "state": "CA",
    "zip": "99801",
    "lead_created_at": "2015-01-01T00:00:00.000Z",
    "free_trial_started_at": "2015-06-13T15:45:13.000Z",
    "customer-since": "2015-06-19T13:16:00-04:00",
    "status": "Active",
    "address": {
      "address_zip": "99801",
      "city": "San Francisco",
      "country": "US",
      "state": "CA"
     },
    "attributes": {
      "custom": {
        "CAC": 25,
        "SalesRep": "Mike",
      },
      "clearbit": {},
      "stripe": {},
      "tags": ["high-value"]
    },
    "mrr": 3000,
    "arr": 36000,
    "billing-system-url": "",
    "chartmogul-url": "https:\/\/app.chartmogul.com\/#customers\/12150249-Example_Company",
    "billing-system-type": "Custom",
    "currency": "USD",
    "currency-sign": "$"
}
<?php
ChartMogul\Customer::__set_state(array(
   'id' => 12150249,
   'uuid' => 'cus_ab223d54-75b4-431b-adb2-eb6b9e234571',
   'external_id' => '34916129',
   'name' => 'Ben',
   'email' => '[email protected]',
   'company' => 'Example Company',
   'status' => 'Active',
   'customer_since' => '2017-01-19T15:29:46.000Z',
   'attributes' =>
  array (
    'custom' =>
    array (
      'CAC' => 25,
      'channel' => 'Facebook',
    ),
    'clearbit' =>
    array (
    ),
    'stripe' =>
    array (
    ),
    'tags' =>
    array (
      0 => 'high-value',
    ),
  ),
   'address' =>
  array (
    'country' => 'United States',
    'state' => 'California',
    'city' => 'San Francisco',
    'address_zip' => '99801',
  ),
   'mrr' => 3000,
   'arr' => 36000,
   'billing_system_url' => NULL,
   'chartmogul_url' => 'https://app.chartmogul.com/#customers/12150249-Example_Company',
   'billing_system_type' => 'Custom',
   'currency' => 'USD',
   'currency_sign' => '$',
   'data_source_uuid' => 'ds_fef05d54-47b4-431b-aed2-eb6b9e545430',
   'data_source_uuids' =>
  array (
    0 => 'ds_fef05d54-47b4-431b-aed2-eb6b9e545430',
  ),
   'external_ids' =>
  array (
    0 => '34916129',
  ),
   'city' => 'San Francisco',
   'country' => 'US',
   'state' => 'CA',
   'zip' => '99801',
   'lead_created_at' => '2015-01-01T00:00:00.000Z',
   'free_trial_started_at' => '2015-06-13T15:45:13.000Z',
 ));
?>
(*chartmogul.Customer)(0xc04207e840)({
 ID: (uint32) 12150249,
 DataSourceUUID: (string) (len=39) "ds_fef05d54-47b4-431b-aed2-eb6b9e545430",
 UUID: (string) (len=40) "cus_ab223d54-75b4-431b-adb2-eb6b9e234571",
 ExternalID: (string) (len=8) "34916129",
 Name: (string) (len=3) "Ben",
 Email: (string) (len=29) "[email protected]",
 Status: (string) (len=6) "Active",
 CustomerSince: (string) (len=25) "2015-06-19T13:16:00-04:00",
 Attributes: (*chartmogul.Attributes)(0xc042089950)({
  Tags: ([]string) (len=1) {
   (string) (len=10) "high-value"
  },
  Stripe: (*chartmogul.Stripe)(0xc042041ec0)({
  }),
  Clearbit: (*chartmogul.Clearbit)(0xc04203ec00)({
  }),
  Custom: (map[string]interface {}) (len=2) {
   (string) (len=3) "CAC": (float64) 25,
   (string) (len=8) "SalesRep": (string) (len=4) "Mike"
  }
 }),
 Address: (*chartmogul.Address)(0xc0420485c0)({
  AddressZIP: (string) (len=6) "99801",
  City: (string) (len=13) "San Francisco",
  State: (string) (len=2) "CA",
  Country: (string) (len=2) "US"
 }),
 Mrr: (float64) 3000,
 Arr: (float64) 36000,
 BillingSystemURL: (string) "",
 ChartmogulURL: (string) (len=62) "https://app.chartmogul.com/#customers/12150249-Example_Company",
 BillingSystemType: (string) (len=10) "Custom",
 Currency: (string) (len=3) "USD",
 CurrencySign: (string) (len=1) "$",
 Company: (string) "Example Company",
 Country: (string) (len=2) "US"
 State: (string) (len=2) "CA",
 City: (string) (len=13) "San Francisco",
 Zip: (string) (len=6) "99801",
 LeadCreatedAt: (string) (len=24) "2015-01-01T00:00:00.000Z",
 FreeTrialStartedAt: (string) (len=24) "2015-06-13T15:45:13.000Z",
 Errors: (chartmogul.Errors) chartmogul: map[]
})
<Customer{
    address=<Address{
        address_zip='99801', 
        city='San Francisco', 
        country='US', 
        state='CA'}>, 
    arr=36000.0, 
    attributes=<Attributes{
        clearbit=<Clearbit{
        }>, 
        custom={
            'CAC': 25, 
            'SalesRep': 'Mike'}, 
        stripe=<Stripe{
        }>, 
        tags=['high-value']}>, 
    billing_system_type='Custom', 
    billing_system_url=None, 
    chartmogul_url='https://app.chartmogul.com/#customers/12150249-Example_Company', 
    city='San Francisco', 
    company='Example Company', 
    country='US', 
    currency='USD', 
    currency_sign='$', 
    customer_since=datetime.datetime(2015, 11, 1, 0, 0), 
    data_source_uuid='ds_fef05d54-47b4-431b-aed2-eb6b9e545430', 
    data_source_uuids=['ds_fef05d54-47b4-431b-aed2-eb6b9e545430'], 
    email='[email protected]', 
    external_id='34916129', 
    external_ids=['34916129'], 
    free_trial_started_at=datetime.datetime(2015, 6, 13, 15, 45, 13), 
    id=12150249, 
    lead_created_at=datetime.datetime(2015, 1, 1, 0, 0), 
    mrr=3000.0, 
    name='Ben', 
    state='CA', 
    status='Active', 
    uuid='cus_ab223d54-75b4-431b-adb2-eb6b9e234571', 
    zip='99801'}>

In the response, the JSON object contains the following data:

  • id - The internal ChartMogul ID of the customer object.
  • uuid - The UUID of the customer object generated by ChartMogul.
  • data_source_uuid - The UUID of the data source that this customer belongs to. If this is a merged customer, then this will show the external identifier for the customer you chose to merge into.
  • data_source_uuids - An Array of the UUIDs of all data sources that contribute data to this customer.
  • external_id - The unique external identifier for this customer, as specified by you. If this is a merged customer, then this will show the external identifier for the customer you chose to merge into.
  • external_ids - An Array of the external identifiers of all customers that have been merged into this customer.
  • name - Name of this customer, as specified by you.
  • email - This customer's email address, as specified by you.
  • company - This customer's company name, as specified by you.
  • country - The country of the customer, as specified by you.
  • state - The state from the customer's address, as specified by you.
  • city - The city of the customer, as specified by you.
  • zip - The zip code of the customer, as specified by you.
  • lead_created_at - The time at which this customer was established as a lead, as specified by you.
  • free_trial_started_at - The time at which this customer started a free trial of your product or service, as specified by you.
  • customer-since - An RFC3339 formatted datetime attribute indicating when the customer first started paying for a subscription.
  • status - The status of this customer. One of Lead, Active, Past due or Cancelled.
  • address - A JSON object representing this customer's address containing the following data:
    • address_zip - The zip code of this customer's address.
    • city - The city of this customer's address.
    • state - The state from this customer's address.
    • country - The country code of this customer's address as per the ISO-3166 alpha-2 standard.
  • attributes - A JSON object representing this customer's attributes containing the following data:
    • tags - An Array of tags that you have added to this customer.
    • stripe - A JSON object representing any metadata on this customer object in your Stripe account.
    • clearbit - A JSON object representing publicly available information about this customer retrieved from Clearbit.
    • custom - A JSON object representing custom attributes that you have added to this customer.
  • mrr - The current monthly recurring revenue for this customer, expressed in the currency selected for your account, as an integer number of cents. Divide by 100 to obtain the actual amount.
  • arr - The current annual run rate for this customer, also expressed as an integer number of cents in your account's selected currency.
  • billing-system-url - A URL for this customer's data in your billing system, if available.
  • chartmogul-url - The URL for this customer's ChartMogul page. This is only accessible to a user logged in to your ChartMogul account.
  • billing-system-type - The type of the billing system from where the customer was imported to ChartMogul. For example, Stripe, Recurly, Chargify, or Custom.
  • currency - The currency of the MRR readings for this customer.
  • currency-sign - Text representation to display the currency. E.g. $, or €.
Language
Authentication
Basic
base64
: