The Second Life Snapshot API enables you to parse information from Snapshot emails sent from the viewer for:
- Social Networking
- Image Libraries
There are many websites that already use this information. They are listed in the Snapshot resources#Social sites featuring snapshots.
Email messages have headers that provide metadata about the message itself. Some of this information is hidden from the person reading an email message. Many email clients permit an individual to look at the "raw" message, in which the hidden headers are exposed. You can use some of this information to verify that the snapshot came from a Linden Lab server.
The following headers are available.
|X-Originating-IP||string||IP of simulator in brackets. [18.104.22.168]. See Simulator_IP_Addresses to verify origin.|
|Subject||string||Subject of message|
|Sender||string||email address of www-data account on simulator. "www-data" <firstname.lastname@example.org>|
|From||string||Combination of address and name. Note: name is not always avatar name.|
|Date||date||Date of snapshot in Pacific timezone.|
|Message-ID||string||Use this field to prevent multiple attempts to process the same message. This value usually contains the time and the sim that a message was sent from. <20100117090229.B6751DF0559@sim9063.agni.lindenlab.com>|
Snapshots are sent as two parts. The first is plain text, and the second is a multi-part message in MIME format.
- image/jpeg - secondlife-postcard.jpg
- image/jpeg - logo_secondlife.jpg
The HTML content within the multi-part message will contain details of the snapshot in a comment tag:
<!-- BEGIN POSTCARD DETAILS agent_id=c4822e40-f763-4eec-bba3-e4bf842a074a username="Dedric Mauriac" region_id=714a15be-8511-4842-a8c1-38c1f54f3c58 sim_name="Applewood" global_x=260282 global_y=235143 local_x=186 local_y=135 local_z=56 END POSTCARD DETAILS -->
Each piece of information is based on where the Avatar was standing when the snapshot was taken. You can take a snapshot, and walk to another location before sending the Snapshot. With detached cameras, the image may actually be from a different location than the avatar is standing.
|agent_id||key||The UUID of the avatar that sent the message.|
|username||string||Quoted name of the avatar who sent the message.|
|region_id||key||The UUID of the region.|
|sim_name||string||Quoted name of the region.|
|global_x||integer||The East/West Grid Coordinates of the avatar.|
|global_y||integer||The North/South Grid Coordinates of the avatar.|
|local_x||integer||The East/West Coordinate of the avatar.|
|local_y||integer||The North/South Coordinate of the avatar.|
|local_z||integer||The Height Coordinate of the avatar.|
The global coordinates could be used to determine the URL to display for a map tile image defined in the Map API. The local coordinates and region name can be used to create a Slurl.
Although you could use the entire HTML source code of a message, it is often not wanted. The original message contains additional information that is not needed. The message that the end-user wrote in the postcard itself is identified with comments:
<!-- BEGIN POSTCARD BODY --> test message <!-- END POSTCARD BODY -->
HTML Entities will be encoded. "<" will appear as "<".
By default, the message is limited to 700 characters. However, this can be changed as outlined in the Advanced Snapshot Tips#Longer Messages
Snapshots include a URL to invite others to join them. If a new account is created from following the link, and certain conditions are met, then the sender could receive a bonus. This URL is wrapped around the logo in the message.
|Note: Referral bonus is no longer given.|
The snapshot is a JPEG image. Postcards have two images, including a logo. The snapshot file name is always called "secondlife-postcard.jpg". There is not any embedded information (such as EXIF) in the image itself.