To obtain information from a specific Zenfolio object, you need to call one of the loader methods provided by the Zenfolio API. The result of a loader method is the data structure known as object snapshot.
Snapshots represent object data taken at a specific point in time. Snapshot data are just a "frozen state", they are not connected to the server and do not reflect any subsequent changes to the object state. In fact, a snapshot can become obsolete immediately after it was retrieved.
The Zenfolio API supports the following snapshots:
- User – represents either a public or private user profile. This snapshot is returned from LoadPublicProfile and LoadPrivateProfile methods.
- Group – represents a photoset group object. This snapshot is returned from the LoadGroup and LoadGroupHierarchy methods. It can also be returned as part of the User snapshot.
- PhotoSet – represents a photoset object. This snapshot is returned from the LoadPhotoSet method. It can also be returned as part of the Group snapshot.
- Photo – represents a photo object. This snapshot is returned from the LoadPhoto method. It can also be returned as part of the PhotoSet snapshot. Note that the Photo snapshot does not contain the photo images. Instead, it contains the URL that can be used to download the original photo file and the base URL that can be used to construct URLs to other generated image sizes. See the Downloading Photos topic for more details.
- GroupElement – represents an object contained within a photoset group, which can be either a photoset or another photoset group. This snapshot contains certain common properties of the PhotoSet and Group snapshots. There is no method that returns the GroupElement snapshot directly, it is only returned as part of the Group snapshot.
- File – represents a user file object. There is no method that returns this snapshot directly, it is only returned as part of the User snapshot to represent user's photo in public profile.
- AccessDescriptor – represents an access descriptor object. There is no method that returns this snapshot directly, it is only returned as part of the Photo, PhotoSet, and Group snapshots.
- Address – represents a mailing address. There is no method that returns this snapshot directly, it is only returned as part of the User snapshot.
- Message – represents a single message in a mailbox. An array of Message snapshots is returned from the LoadMessages method, which loads messages posted to a particular mailbox.
When working with snapshots, keep in mind that depending on the method used to return the snapshot, certain fields may or may not contain values. For example, when calling LoadPublicProfile to obtain user's public profile, only those fields that constitute the public user profile will have values in the returned User snapshot. On the other hand, when LoadPrivateProfile is called, the returned User snapshot will contain all private profile fields as well as some (but not all) public profile fields. Please refer to the individual method descriptions for the information on which fields are returned by a particular method.