Events help tracking what's happening in your marketplace account. Clazar provides visibility into everything on AWS Marketplace. Whether it's your listing getting published πŸ“„ or how much revenue you can expect from a certain contract 🀩, you don't have to go through AWS reports . Through events you get realtime notifications on when a buyer subscribed to your listing. You're notified on events through various channels, like slack, email and webhooks depending upon your Clazar account settings. You can also configure what events you want to get notified on. In case you missed any event, you can go to your Clazar account, navigate to Events panel and see all your events there. The panel facilitates you with filters you need to track down the journey of your contracts. Events makes to easier for your finance team to reconcile payments, customer success team to track down contract journey and auditors to find financial insights.

Event parameters

An event contains a bunch of information. This information can be seen as either static or dynamic information. Static information characterise an event, like what kind of event it is and how created this event, whether it was driven by a change at AWS or was created in a user's journey on Clazar platform. While dynamic information is specific to that particular event, like which buyer bought a contract or which private offer got sent. Each event contains the following information.

Origin

Origin of an event tells you was it Clazar or AWS to initiate the change that triggered the event. There are a certain events that are caused by changes at AWS, like a contract getting renewed. While there are some events which are solely created by Clazar, like registration details being updated by the buyer. The possible values for aws event origin are Clazar and AWS.

Suborigin

Suborigin of an event tells you what caused the event. The event can be driven by clazar receiving an SNS from AWS or receiving billed revenue report from AWS. Following are the possible values for suborigin.

  1. SNS
  2. Registration
  3. Daily Business
  4. Disbursements
  5. Private Offers
  6. Listings
  7. Billed Revenue

Topic

An event topic classifies what kind of event it is. On the basis of topic you can interpret what exactly changed in your AWS marketplace account. Some events might provide business critical information, while some might be related to finance operations. You can configure what events you receive via webhook using event topics. More information on topic is provided in the next section of this documentation.

Metadata

Metadata provides in-depth information of what an event denotes. Like in can a new contract is created you can refer to metadata for contract entitlements and other related information specific to that contract. In case a contract is modified you can use metadata to infer the changes in entitlements that happened. Event from different topic can have different structure of metadata. More information is provided in the next section.

Timestamp

Timestamp is a Datetime parameter that denotes when exactly the event was triggered. You can use timestamp to track the journey of a contract or a specific transaction.

Event Details

Clazar offers in-depth monitoring on your listing. You get a variety of events related to the state of your listing, buyer contracts, private offers, reported revenue and disbursements. Events are divided into multiple entities they relate to that can be inferred from event topics. Each variety of an event is represented by its topic. Depending upon your account configurations you recieve webhook, slack and email notification for these events. You can refer to the event details for each event topic and the corresponding slack message samples below.

πŸ‘‰ aws.listing.submitted_to_clazar

This event is triggered when you/your team submits the listing. We'll now send the listing to AWS. Here's what receive in an event when a listing is submmitted.

πŸ“˜

Event Details

Origin: Clazar

Suborigin: Listings

Topic: aws.listing.submitted_to_clazar

Text: Listing Submitted to Clazar

Description: Listing {listing-title} on AWS is submitted to Clazar.

Metadata:

Here's what you see on your slack channel:

πŸ‘‰ aws.listing.waiting_on_aws

This event is triggered when your listing is sent to AWS and now we await a revert from them. Here's what receive in an event when a listing is submmitted.

πŸ“˜

Event Details

Origin: Clazar

Suborigin: Listings

Topic: aws.listing.waiting_on_aws

Text: Listing Submitted to AWS

Description: Listing {listing-title} is submitted to AWS.

Metadata:

Here's what you see on your slack channel:

πŸ‘‰ aws.listing.in_limited_state

This event means now the listing is in limited state and we can perform integration testing now. Here's what receive in an event when a listing is submmitted.

πŸ“˜

Event Details

Origin: AWS

Suborigin: Listings

Topic: aws.listing.in_limited_state

Text: Listing in Limited State

Description: Listing {listing-title} is now published in Limited state on AWS.

Metadata:

Here's what you see on your slack channel:

πŸ‘‰ aws.listing.published

This event is triggered when a listing is published on AWS Marketplace. Time to celebrate πŸ₯³. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Listings

Topic: aws.listing.published

Text: Listing Published in AWS

Description: Listing {listing-title} is now published on AWS Marketplace.

Metadata:

Here's what you see on your slack channel:

πŸ‘‰ aws.private_offer.created

This event is triggered when a private offer is created on AWS Marketplace. When you receive this event, your customer must also have received the private offer by email. Now we await the customer to accept your offer. The private offer details can be found in the event metadata. Here are the event details:

πŸ“˜

Event Details

Origin: Clazar

Suborigin: Private Offers

Topic: aws.private_offer.created

Text: Private Offer Created

Description: Private Offer {private-offer-name} is created in AWS

Metadata:

{
	offer_name: "Private Offer Name",
  offer_id: "Private Offer Id",
  flexible_payment_enabled: true/false,
  buyers: [{
  	company_name: "Buyer Company Name",
    aws_account_id: "Buyer AWS Account Id"
  }],
  contract_dimensions: [{
  	name: "Dimension",
    api_name: "dimension_api_name",
    description: "Dimension Description",
    units: {Units},
    price: {Price}
  }],
  additional_usage_fees: [{
  	api_name: "dimension_api_name",
    description: "Dimension Description",
    price: {Price}
  }],
  offer_url: "https://example.com",
  flexible_payment_schedule: [{
  	payment_amount: {Amount},
    payment_date: "Payment Date in YYYY-MM-DD format"
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.contract.created

This event is triggered when a buyer buys your product through AWS Marketplace. A contract is created when the buyer buys a public offer or accepts a private offer you created for them. You can find contract entitlements in the event metadata. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: SNS

Topic: aws.contract.created

Text: Contract Created

Description: AWS contract created for listing {listing-title}.

Metadata:

{
  product_code: "Product Code",
  customer_identifier: "Customer Identifier",
  entitlements: [{
  	Dimension: "Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {Value}
    },
    ExpirationDate: "Expiration Datetime in YYYY-MM-DD HH:MM:SS format"
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.contract.registered

This event is triggered when a buyer goes to SaaS registration page to configure their account after buying your product. The buyer registration details can be referred from the event metadata. Here are the event details:

πŸ“˜

Event Details

Origin: Clazar

Suborigin: Registration

Topic: aws.contract.registered

Text: Registration Updated

Description: AWS buyer registration details updated for listing {listing-title}.

Metadata:

{
  product_code: "Product Code",
  customer_identifier: "Customer Identifier",
  registration_details: [{
  	field: "field",
    value: "value"
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.contract.modified

This event is triggered when a contract is modified. You can find the entitlements of that contract changed. you can refer to the event metadata to understand what exactly was modified in the contract. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: SNS

Topic: aws.contract.modified

Text: Contract Modified

Description: AWS contract modified for listing {listing-title}.

Metadata:

{
  product_code: "Product Code",
  customer_identifier: "Customer Identifier",
  old_entitlements: [{
  	Dimension: "Old Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {Old Value}
    },
    ExpirationDate: "Old Expiration Datetime in YYYY-MM-DD HH:MM:SS format"
  }],
  new_entitlements: [{
  	Dimension: "New Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {New Value}
    },
    ExpirationDate: "New Expiration Datetime in YYYY-MM-DD HH:MM:SS format"
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.contract.renewed

This event is triggered when a contract is renewed. You can find the new expiration date of the contract in event metadata. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: SNS

Topic: aws.contract.renewed

Text: Contract Renewed

Description: AWS contract renewed for listing {listing-title}.

Metadata:

{
  product_code: "Product Code",
  customer_identifier: "Customer Identifier",
  old_entitlements: [{
  	Dimension: "Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {Value}
    },
    ExpirationDate: "Old Expiration Datetime in YYYY-MM-DD HH:MM:SS format"
  }],
  new_entitlements: [{
  	Dimension: "Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {Value}
    },
    ExpirationDate: "New Expiration Datetime in YYYY-MM-DD HH:MM:SS format"
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.contract.cancelled

This event is triggered when a contract is cancelled. It might have expired or the buyer may have cancelled it. You can find the last entitlements to find out what happen from the mentioned. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: SNS

Topic: aws.contract.cancelled

Text: Contract Canceled

Description: AWS contract canceled for listing {listing-title}.

Metadata:

{
  product_code: "Product Code",
  customer_identifier: "Customer Identifier",
  old_entitlements: [{
  	Dimension: "Dimension",
    Value: {
    	IntegerValue/StringValue/DoubleValue/BooleanValue: {Value}
    }
  }]
}

Here's what you see on slack:

πŸ‘‰ aws.analytics.metered_usage

This event is triggered after when AWS reports a metered usage. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Daily Business

Topic: aws.analytics.metered_usage

Text: Estimated Revenue

Description: AWS reported an estimated revenue of {currency} {amount} based on usage by instance type.

Metadata:

{
  product_title: "Product Title",
  customer_identifier: "Customer Identifier",
  estimated_revenue: {Amount},
  currency: "Currency",
  user_country: "Buyer's Country",
  user_state: "Buyer's State",
  product_code: "Product Code",
  payer_reference_id: "Payer Reference Id",
  usage_records: [{
  	estimated_revenue: {Amount},
    instance_type: "Dimension",
    usage_units: {Quantity},
    usage_unit_types: "Unit Type",
    offer_id: "Offer Id",
    offer_visibility: "Public/Private"
  }]
}

πŸ‘‰ aws.analytics.contract_fees

This event is triggered after receiving a contract fees in AWS reports. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Daily Business

Topic: aws.contract.cancelled

Text: Contract Fees

Description: AWS reported a transaction with a contract fee of {currency} {amount}.

Metadata:

{
  product_title: "Product Title",
  customer_identifier: "Customer Identifier",
  total_amount: {Amount},
  currency: "Currency",
  user_country: "Buyer's Country",
  user_state: "Buyer's State",
  product_code: "Product Code",
  payer_reference_id: "Payer Reference Id",
  payer_address_id: "Payer Address Id",
  transactions: [{
  	amount: {Amount},
    dimension: "Dimension",
    quantity: {Quantity},
    start_date: "Start Date",
    end_date: "End Date"
  }]
}

πŸ‘‰ aws.analytics.new_product_subscriber

This event is triggered when we receive a new contract in AWS reports. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Daily Business

Topic: aws.contract.cancelled

Text: New Contract Buyer

Description: AWS reported a buyer for a new contract.

Metadata:

{
  product_title: "Product Title",
  customer_identifier: "Customer Identifier",
  offer_id: "Offer Id",
  offer_visibility: "Public/Private",
  user_country: "Buyer's Country",
  user_state: "Buyer's State",
  product_code: "Product Code",
  payer_reference_id: "Payer Reference Id"
}

πŸ‘‰ aws.analytics.canceled_product_subscriber

This event is triggered when AWS reports shows a contract being cancelled. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Daily Business

Topic: aws.contract.cancelled

Text: Canceled Contract Buyer

Description: AWS reported a buyer for a canceled contract.

Metadata:

{
  product_title: "Product Title",
  customer_identifier: "Customer Identifier",
  offer_id: "Offer Id",
  offer_visibility: "Public/Private",
  user_country: "Buyer's Country",
  user_state: "Buyer's State",
  product_code: "Product Code",
  payer_reference_id: "Payer Reference Id"
}

πŸ‘‰ aws.analytics.disbursement

This event is triggered when AWS reports a disbursement from any buyer. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Disbursements

Topic: aws.contract.cancelled

Text: Disbursements

Description: AWS reported a disbursement with {currency} {amount} net revenue.

Metadata:

{
  product_title: "Product Title",
  agreement_id: "AWS Agreement Id",
  customer_identifier: "Customer Identifier",
  product_code: "Product Code",
  currency: "Currency",
  agreement_start_date: "Agreement Start Date",
  agreement_acceptance_date: "Agreement Acceptance Date",
  agreement_end_date: "Agreement End Date",
  disbursed_net_revenue: {Disbursed Revenue},
  disbursement_date: "Disbursement Date",
  disbursement_period: "Disbursement Period",
  disbursement_status: "Disbursed",
  disbursement_time_in_days_: {Number of Days},
  disburse_bank_trace_id: "Bank Trace Id",
  gross_refund: {Refund},
  gross_revenue: {Revenue},
  invoice_date: "Invoice Date",
  invoice_id: "Invoice Id",
  offer_id: "Offer Id",
  offer_name: "Offer Name",
  offer_visibility: "Public/Private",
  payer_aws_account_id: "Payer's AWS Account Id",
  payer_company_name: "Payer's Company Name",
  payment_due_date: "Due Date",
  payment_terms: "Payment Terms",
  product_id: "Product Id",
  seller_net_revenue: {Net Revenue},
  seller_tax_share: {Seller Tax Share},
  seller_tax_share_refund: {Seller Tax Share Refund},
  subscriber_aws_account_id: "Buyer's AWS Account Id",
  subscriber_company_name: "Buyer's Company Name",
  subscriber_state_or_region: "Buyer's State",
  transaction_reference_id: "Transaction Reference Id",
  undisbursed_net_revenue: {Undisbursed Revenue},
  usage_period_start_date: "Usage Start Date",
  usage_period_end_date: "Usage End Date",
  wholesale_cost: {Wholesale Cost},
  wholesale_cost_refund: {Wholesale Cost Refund}
}

πŸ‘‰ aws.analytics.billed_revenue

This event is triggered AWS reports a billed revenue from any buyer. Here are the event details:

πŸ“˜

Event Details

Origin: AWS

Suborigin: Billed Revenue

Topic: aws.contract.cancelled

Text: Billed Revenue

Description: AWS reported a billed revenue with {currency} {amount} gross revenue.

Metadata:

{
  agreement_id: "AWS Agreement Id",
  customer_identifier: "Customer Identifier",
  product_code: "Product Code",
  currency: "Currency",
  agreement_start_date: "Agreement Start Date",
  agreement_acceptance_date: "Agreement Acceptance Date",
  agreement_end_date: "Agreement End Date",
  aws_tax_share: {AWS Tax Share},
  aws_tax_share_refund: {AWS Tax Share Refund},
  disbursement_date: "Disbursement Date",
  disbursement_status: "Disbursement Status",
  disburse_bank_trace_id: "Bank Trace Id",
  gross_refund: {Refund},
  gross_revenue: {Revenue},
  invoice_date: "Invoice Date",
  invoice_id: "Invoice Id",
  offer_id: "Offer Id",
  offer_name: "Offer Name",
  offer_visibility: "Public/Private",
  payer_address_id: "Payer Address Id",
  payer_aws_account_id: "Payer's AWS Account Id",
  payer_company_name: "Payer's Company Name",
  product_id: "Product Id",
  product_title: "Product Title",
  seller_net_revenue: {Net Revenue},
  seller_tax_share: {Seller Tax Share},
  seller_tax_share_refund: {Seller Tax Share Refund},
  subscriber_address_id: "Buyer's Address Id",
  subscriber_company_name: "Buyer's Company Name",
  subscriber_aws_account_id: "Buyer's AWS Account Id",
  subscriber_city: "Buyer's City",
  transaction_reference_id: "Transaction Reference Id",
  usage_period_end_date: "Usage End Date",
  usage_period_start_date: "Usage Start Date"
}