Marketo uses Marketo objects (MObjects) to represent various classes like Program, Opportunity, and OpportunityPersonRole.
Structure of MObjects
MObjects can be one of three types: Standard, Custom or Virtual. Standard and Custom MObjects represent distinct entities, such as Lead or Company, while Virtual Objects, such as LeadRecord, are composed of fields from one or more objects. Virtual Objects are convenience objects used within the API but do not exist within the Marketo application.
MObjects consist of:
External-Keys
External-keys are custom fields defined on Marketo objects, such as Lead or Opportunity. The name is the field name and value is the field value, generated in an external system. Marketo does not enforce a unique constraint on these values. It is the responsibility of the API user to ensure that the values are unique. Should a duplicate occur, Marketo uses the most recently added object. This is similar to the behavior for the Email Address standard field.