Sei sulla pagina 1di 116

m

m m

m
m
m m
„ 
  
m
m
m
 
m 
m
m
m
m
  m m

 m m


m
m

m

m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

m
 
mm m
 mm!m
"
# mm!m
 #
$ $
mm!m
6 
% 
mm!m
"$  mm&m
##   mm&m
"
# mm&m
 #
$ $
mm&m
6 
% 
mm'm
6(
)mmm
 #
$ $
mmm
"$  mm*m
6 
mm*m
"
# mm*m
 #
$ $
mm+m
6 
% 
mm+m
"$  mm+m
  mm+m
"% #
mm+m
 #
$ $
mm,m
"-
mm,m
"
# mm,m
 #
$ $
mm,m
6 
% 
mm.m
"$  mmm
/
$mmm

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

"
# mmm
 #
$ $
mmm
6 
% 
mmm
"$  mm m
 #mm m
"
# mm m
 #
$ $
mm m
6 
% 
mm!m
"$  mm!m
0(mm!m
"
# mm&m
 #
$ $
mm&m
)mm&m
"
# mm&m
 #
$ $
mm&m
6 
% 
mm*'m
"$  mm*'m
1
 0
m*'m
 #
$ $
mm*m
6 
% 
mm*m
2 
m**m
"
# mm**m
 #
$ $
mm**m
6 
% 
mm**m
"$  mm**m
0
mm*+m
"
# mm*+m
 #
$ $
mm*+m
6 
% 
mm*+m
(  mm*,m

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

"
# mm*,m
 #
$ $
mm*,m
6 
% 
mm*.m
"$  mm*m
mm*m
"
# mm*m
 #
$ $
mm* m
6 
% 
mm*&m
"$  mm*&m
3
-
4mm+'m
"
# mm+'m
 #
$ $
mm+'m
 m
 0
mm+m
"
# mm+m
 #
$ $
mm+m
6 
% 
mm+m
"$  mm+m
 # mm+*m
"
# mm+*m
 #
$ $
mm+*m
"$  mm+*m
(
$m++m
 #
$ $
m++m
6 
% 
m++m
5
mm+,m
"
# mm+,m
 #
$ $
mm+,m
6 
% 
mm+ m
7$
mm,'m
"% #
mm,'m

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 (0mm,'m
 #
$ $
mm,m
6 
% 
mm,m
8# m -  $ mm,+m
 0mm,+m
 0m53mm,+m
6  m  

mm,,m
# 9m1 $
mm,,m
1 
m# 9m1 $
mm,.m
 0mm,m
/:mm, m

mm,!m

     m mm.+m

   0m9 m##   mm.,m

# 0m; m##   m< m   mm..m
3
0
0m(
m
%m; m= m  
$mm.m
1 )0m5#m
%m< m   m. m

0m; m##   m  
$mm.!m
1  00m(
m   m  
mm'm
6
$m mm.m
 m-
-
4mm.m

0m5#m; m##   mm
>
m  
m$
mm m
6
0m9 m6 )mm m
9
m  #m!m

m1 
m6
$mm&m
" 0m6
$m50m<<
mm 'm
" 0m6
$m50m
# mm m

m> 
mm *m
 
m mm *m

6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

>9m4(m/
$mm +m
/ 
m 9
mm ,m
6
$m #(m  .m

m$
mm m
5#$ 
m$
mm m

m$
mm m
##   m6 )mm &m
3
# 0mm!'m
#
m3
  mm!+m
6( 0
)mm!,m
3
<$m3
 m6 $
m?"m m@ $
m$Am Bm!,m
" m6 $
mm!.m
$m mm!&m

0m 
$mm!&m
$m m>
m  
mm&*m
$m m1
( $m $m
mm&*m
6( m mm&,m
/

m $m  m&,m
6 <00m6( m(
  mm&.m
>
m  
mm& m
< m(
  m #
m6 $
mm& m
C m$
m#- $ $m$
m/ 
)mm'm
m $8mm'm
*m<  8mD
m
  mm'+m
+m6 # m<  8m
m/ 
)m'.m
,m<  8mD
m # 
m m

 mm' m
.m68 m   mm<  8mm'&m
m68 m #  m m<  8mmm
m68 m#
$
m   m
 m<  8mm+m
!m68 m# 
0
 m m<  8mm,m

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&m m $ 


mm.m
m

m m

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 m
"m m 
% m#

 
 m<  8mD
m#
$
m
0 m m
  mE m#  m m0

m

 # m# 
 
m m

- 
 Fm$

m9m
#
C< m$
m 
# m
  $ m9m

%#  $ m
m
m

- 
 m$
 $ m9m# C m$
m#- $ $m$
m/ 
)m

m m

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

!"#m

$!%m

A photo album

"%&$m

https://graph.facebook.com/99394368305 (Coca-Cola fan page wall photos)

&'#m

'%m #&m %###m #m

À m
Vhe photo album ID Publicly available A JSON string
a m Vhe profile that created A JSON object containing
Publicly available
this album the À and  fields
m
Vhe title of the album Publicly available A JSON string
Available to
m Vhe description of the
everyone in A JSON string
album
Facebook
Available to
ëÀm Vhe location of the
everyone on A JSON string
album
Facebook
ëÀm A link to this album on A JSON string containing a
Publicly available
Facebook valid URL
Available to
º Àm Vhe privacy settings for
everyone on A JSON string
the album
Facebook
m Vhe number of photos in
Publicly available A JSON string
this album
Vhe time the photo
  Àm A JSON string containing a
album was initially Publicly available
IEVF RFC 3339 datetime
created
º  ÀmVhe last time the photo A JSON string containing a
Publicly available
album was updated IEVF RFC 3339 datetime

(#m

'%m #&m %###m #m

6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

º  Vhe photos contained Publicly


An array of „  objects
m

in this album available


 Vhe comments made
m
Publicly An array of JSON objects containing À A
on this album available a A  and   À fields
ºÀ  Vhe album's cover
m Publicly An HVVP 302 with the URL of the album's
photo available cover picture

'$m

Requires the ºëÀ   permission.

Vo create a newA empty photo albumA „  the album name and optional description to
º º a„ ë.

Check out the Photo documentation for more information about publishing photos to
albums.

 ë
  º ë
 º ë  ÀºÀ
 º º aë

&&$'m

An application registered on Facebook Platform. Vhe Graph API supports querying for
information on existing applications. Vo createA administer or delete applications developers
must go to the Developer Application.

"%&$m

https://graph.facebook.com/2439131959 (Vhe Graffiti Application)

&'#m

'%m #&m %###m #m

 m Publicly
Vhe application ID A JSON string
available
m Publicly
Vhe title of the application A JSON string
available
 ÀºÀmVhe description of the application Publicly
A JSON string
written by the 3rd party developers available

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 m Publicly
Vhe category of the application A JSON string
available
ëÀm A link to application dashboard on Publicly A JSON string
Facebook available containing a valid URL

(#m

'%m #&m %###m #m

a Publicly
Vhe application's wall An array of „ objects
m

available
º Publicly
Vhe applications's own posts An array of „ objects
m

available
Vhe application's logo with
maximum dimensions of An HVVP 302 with the
ºÀ  Publicly
75x75 pixels suitable for location set to the picture
m

available
embedding as the source of an URL
image tag
Vhe photosA videosA and posts
 Publicly An array of „A „ 
in which this application has
m

available or
À  objects
been tagged
ëÀ Publicly
Vhe application's posted links An array of À objects
m

available
º  Vhe photos this application Publicly
An array of „  objects
m

has uploaded available


ë Vhe photo albums this page Publicly
An array of Më objects
m

has created available


 m
Vhe application's status Publicly An array of 
updates available  objects
À  Vhe videos this application Publicly
An array of
À  objects
m

has created available


 Publicly
Vhe application's notes An array of | objects
m

available
 Vhe events this page is Publicly
An array of  objects
m

managing available
All of the subscriptions this Requires an
 ÀºÀ An array of  ÀºÀ
application has for real-time application
m

objects
notifications access token
Requires an
ÀÀ  Usage metrics for this An array of À 
application
m

application objects
access token

6  mm mm
 mm  mm  mmmmmmm 'm m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

An array of JSON objects


Requires an containing À A
 Vest User accounts associated
application  and
m

with the application


access token ëÀ ë for the test
users
À  Publicly An array of Review
Reviews of this application
m

available objects

)*m

A checkin made through Facebook Places or the Graph API.

You can searchA read and publish checkins. Every checkin is associated with a checkin ID
that represents an object in the graph. Vhese checkins are then associated with locations
represented by Facebook Pages or Open Graph protocol pages.

Vo get a user's checkinsA request the   Àextended permission. Vo see the user's
friends' checkinsA request the a À  Àextended permission.

You can GEV individual check-ins by passing the checkin ID:

 º º a ÀÀ




Or you can GEV checkin information from individual places or users:

 º º a À


 À
 º º aºÀ
 À

You can search for recent checkins for an authorized user and his or her friends:


º º a  º À M  |

You can search for places near a specific location (distance is in meters):


º º a 
ºÀ  ººë  ë ë À


&'#m

'%m #&m %###m #m

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

À m
Vhe checkin ID   À JSON string

A JSON object containing the


a m Vhe ID and name of the user   À
 and Facebook À of the
who made the checkin
user who made the checkin
m Vhe users the author tagged   À Contains in  a list of the
in the checkin users tagged in this checkin
Information about the
ºëm Facebook Page that A JSON object containing the
  À
represents the location of Page À A A and ëÀ
the checkin
m Vhe message the user added   À
JSON string
to the checkin
Information about the A JSON object that contains
ººëÀÀm
application that made the   À the  and À of the
checkin application
  ÀmVhe time the checkin was A JSON string containing a
  À
created IEVF RFC 3339 datetime

'$m

Requires the ºëÀ  À permission.

Vo publish a checkinA „  the user coordinates and the Place ID and optionally add
attachments like linkA picture etc. similar to Post to the checkins of the userA i.e.A
º º a„  À.

 ë
 aaÀ  
ºë„M 
 ÀëÀ  ëÀ 
 

 º º a À

%%m

A comment on a Graph API object

"%&$m

https://graph.facebook.com/19292868552_475058873552_14173716 (A comment on Post)

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&'#m

'%m #&m %###m #m

À m Vhe Facebook ID of Available to everyone


A JSON string
the comment on Facebook by default
  ÀmVhe timedate the Available to everyone A JSON string containing a
comment was created on Facebook by default IEVF RFC 3339 datetime
m Available to everyone
Vhe comment text A JSON string
on Facebook by default
A JSON object containing
a m Vhe user that created Available to everyone
the À and  of the
the comment on Facebook by default
creating user
Vhe number of times
ëÀm Available to everyone
this comment was A JSON integer
on Facebook by default
liked

(#m

'%m #&m %###m #m

An array of JSON objects containing À


ëÀ All of the likes on Available to everyone
and  fields of the user that liked the
m

this comment on Facebook by default


comment

'$m

Requires the ºëÀ   permission.

You can like a comment by issuing a „  to º º a |



ëÀ. Vo delete a like on a commentA issue a  to
º º a |
ëÀ.

 ë
 º º a


  
 ëÀ

%'m

A web site domain within the Graph API.

('%&$m

http://graph.facebook.com?domain=www.facebook.com
http://graph.facebook.com?domains=www.facebook.comAwww.example.com

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&'#m

'%m #&m %###m #m

À m
Vhe id of the domain Publicly available A JSON string
m
Vhe name of the domain Publicly available A JSON string

+m

A Facebook event

Specifies information about an eventA including the locationA event nameA and which
invitees plan to attend. Vhe following examples show how to create and edit an event:

Make an event:

 ë   À



 
 ëÀºë
 º º a„ 

Edit its location:

 ë ëÀë   º º a








RSVP to an Event

 ë 
 º º a
| À ëÀ 

"%&$m

https://graph.facebook.com/331218348435 (Facebook Developer Garage Austin)

&'#m

'%m #&m %###m #m

À m Publicly
Vhe event ID A JSON string
available
  m Vhe profile that Publicly A JSON object containing À and 
created the event available fields
m Publicly
Vhe event title A JSON string
available
 ÀºÀm Vhe long-form Publicly
A JSON string
description of the available

6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

event
A JSON string containing an ISO-8601
Vhe start time of
formatted date/time or a UNIX
the eventA as you
 Àm Publicly timestamp; if it contains a time zone (not
want it to be
available recommended)A it will be converted to
displayed on
Pacific time before being stored and
facebook
displayed
A JSON string containing an ISO-8601
Vhe end time of the formatted date/time or a UNIX
 Àm eventA as you want Publicly timestamp; if it contains a time zone (not
it to be displayed available recommended)A it will be converted to
on facebook Pacific time before being stored and
displayed
ëÀm Vhe location for Publicly
A JSON string
this event available
A JSON object containing  A ÀA
m Vhe location of this Publicly
A ÀºA  A ëÀ A and
event available
ëÀ  fields
º Àm Vhe visibility of Publicly A JSON string containing 'OPEN'A
this event available 'CLOSED'A or 'SECREV'
º  ÀmVhe last time the Publicly A JSON string containing a IEVF RFC
event was updated available 3339 datetime

(#m

'%m #&m %###m #m

a Publicly
Vhis event's wall An array of „ objects
m

available
All of the users who
Available to A JSON array containing objects
 ºë have been not yet
everyone on with À A  and º
m

responded to their
Facebook fields
invitation to this event
All of the users who
Available to A JSON array containing objects
 have been responded
everyone on with À A  and º
m

"Maybe" to their
Facebook fields
invitation to this event
All of the users who Available to A JSON array containing JSON
ÀÀ
have been invited to this everyone on objects with À A  and
m

event Facebook º fields


 À All of the users who are
m
Available to A JSON array containing objects
attending this event everyone on with À A  and

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Facebook ºfields
All of the users who Available to A JSON array containing JSON
ëÀ
declined their invitation everyone on objects with À A  and
m

to this event Facebook º fields


Returns a HVVP 302 with the URL of
ºÀ  m Vhe event's profile Publicly the event's picture (use ?type=small |
picture available normal | large to request a different
photo)

'$m

Requires the   permission.

Vo publish an eventA „  the event's ÀëA  À and  À at


º º a„ .

 ë
 À  
 À
 À
 º º a

 #m

A Facebook friend list

"%&$m

https://graph.facebook.com/me/friendlists (Your friend lists)

&'#m

'%m #&m %###m #m

À m Requires the  a À ëÀ A JSON


Vhe friend list ID
permission string
m Vhe name of the friend Requires the  a À ëÀ A JSON
list permission string

(#m

'%m #&m %###m #m

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

  All of the users who are


m
Publicly An array of JSON objects containing
members of this list available friend À and  fields

'$m

Requires the a À ëÀ permission.

You can create a new friendlist by issuing a „  to


º º a 
a À ëÀ  À À|
.
Vo add new members to a friendlistA issue a „  to
º º a À À
 
.

You can delete a friend list by issuing a  to


º º a À À
. Vo delete a member of a listA issue a
 to º º a À À
 
.

 ë
 º º aa À ëÀ ë  ëa À 

0&m

A Facebook group

"%&$m

https://graph.facebook.com/195466193802264 (Facebook Developers Group)

&'#m

'%m #&m %###m #m

À m Publicly
Vhe group ID A JSON string
accessible
Àm Vhe URL for the Publicly A JSON string containing a valid
group's icon accessible URL
  m Vhe profile that created Publicly A JSON object containing the À
this group accessible and  fields
m Publicly
Vhe name of the group A JSON string
accessible
 ÀºÀm A brief description of Publicly
A JSON string
the group accessible

6  mm mm
 mm  mm  mmmmmmm  m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ëÀm Vhe URL for the Publicly A JSON string containing a valid
group's website accessible URL
º Àm Vhe privacy setting of Publicly A JSON string containing 'OPEN'A
the group accessible 'CLOSED'A or 'SECREV'
º  ÀmVhe last time the group Publicly A JSON string containing a IEVF
was updated accessible RFC 3339 datetime

(#m

'%m #&m %###m #m

a Publicly
Vhis group's wall An array of „ objects
m

available
All of the users who are members An array of JSON objects
  Publicly
of this group (can only currently containing À A A and
m

available
return the first 500 members)  ÀÀ  fields
ºÀ  Publicly HVVP 302 with the URL of the
Vhe profile picture of this group
m

available group's profile picture


 Publicly
Vhe docs in this group An array of  objects
m

available

'$m

Requires the ºëÀ   permission.

Vo publish to the Group's feedA „  a message and optional attachment to the a
connection of the Group. See Post for more details and an example.

#,)#m

Statistics about applicationsA pagesA and domains.

Available metrics include application and page hitsA addsA removesA and likes. Vhe FQL
Insights Documentation contains a complete list of available metrics.

Without a sessionA an application can retrieve only its own metrics. With a user sessionA it is
possible to retrieve data for all applicationsA pagesA and domains owned by the session user.
Reading this data requires the  ÀÀ permission.

Use Facebook Insights to claim your domain.

6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Insights can be retrieved only as an array.

"%&$m

https://graph.facebook.com/2439131959/insights/application_active_users (Graffiti)

&'#m

'%m #&m %###m #m

À m
Requires
ID of the insight  ÀÀ  JSON string
permission
m
Requires
Name of the insight  ÀÀ  JSON string
permission
Length of the period
º À m during which the
Requires JSON string containing 'day'A 'week' or
 ÀÀ 
insights were permission 'month'
collected
A JSON array of objects containing the
ëmIndividual data points
Requires ë (a JSON number) and  À
 ÀÀ 
for the insight permission (A JSON string containing a IEVF RFC
3339 datetime) fields

*m

A link shared on a user's wall

"%&$m

https://graph.facebook.com/114961875194024 (A link shared by Arjun Banker)

&'#m

'%m #&m %###m #m

À m Publicly
Vhe link ID A JSON string
accessible
a m Publicly A JSON object containing
Vhe user that created the link
accessible the À and  field

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ëÀm Publicly A JSON object contain a


Vhe URL that was shared
accessible valid URL
m Publicly
Vhe name of the link A JSON string
accessible
ºÀm Vhe caption of the link (appears Publicly
A JSON string
beneath the link name) accessible
A description of the link
 ÀºÀm Publicly
(appears beneath the link A JSON string
accessible
caption)
A URL to the link icon that
Àm Publicly A JSON string containing a
Facebook displays in the news
accessible valid URL
feed
ºÀ m A URL to the thumbnail image Publicly A JSON string containing a
used in the link post accessible valid URL
m Vhe optional message from the Publicly
A JSON string
user about this link accessible
  ÀmVhe time the message was Publicly A JSON string containing a
published accessible IEVF RFC 3339 datetime

(#m

'%m #&m %###m #m

 All of the comments Publicly


m An array of JSON objects containing À A
on this link available a A  and   À fields

'$m

Requires the ºëÀ   permission.

Vo publish a wall postA „  the ëÀA (optional) A (optional) ºÀA (optional)
 ÀºÀ and (optional)  to the feed/wall of the user or Page.

 ë
ëÀ º  ºë Àë ë
ºÀ  º  ºë Àë Àë º
M ˑˑ
ºÀ ºÀa  ëÀ
  ÀºÀ   ÀºÀa ëÀ
 º º aa 

##',m

A message in the new Facebook unified messaging system.

6  mm mm
 mm  mm  mmmmmmm *'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

An individual message in the new Facebook messaging system. Every message has a
message ID that represents an object in the Graph. Vo get access to read a user's messagesA
you should request the  Àë Extended Permission.

You can GEV an individual message by specifying the message ID:

 º º aÀ




Or you can GEV all the messages in a thread:

 º º a  À




&'#m

'%m #&m %###m #m

À m Vhe unique ID for this  Àë


JSON string
message
A JSON object that contains the
a m Vhe sender of this  Àë A Àë and Facebook À (if
message
available) of the sender
A list of JSON objectsA each of
m A list of the message  Àë
which contains the A Àë and
recipients
Facebook À of the recipient
m Vhe text of the  Àë JSON string
message
A timestamp of when
  Àm A JSON string containing a IEVF
this message was  Àë
RFC 3339 datetime
created

(#m

'%m #&m %###m #m

Contains in  a list of JSON objects each


  A list
 Àë of which have À A ÀºA  and
m

attachments
À  as fields
Contains in  a list of JSON objects each
   m
A list of  Àë of which have À A ëÀA A  ÀºÀ
attached shares
and ºÀ  as fields

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

m

A Facebook note

"%&$m

https://graph.facebook.com/122788341354 (Vhe note announcing Facebook for iPhone 3.0)

&'#m

'%m #&m %###m #m

À m Available to everyone
Vhe note ID A JSON string
on Facebook by default
a m Vhe profile that created Available to everyone A JSON object containing
the note on Facebook by default À and  fields
 m Available to everyone
Vhe title of the note A JSON string
on Facebook by default
m Available to everyone
A JSON string containing
Vhe content of the note
on Facebook by default
HVML text
A JSON string containing
  ÀmVhe time the note was Available to everyone
a IEVF RFC 3339
initially published on Facebook by default
datetime
A JSON string containing
º  ÀmVhe time the note was Available to everyone
a IEVF RFC 3339
last updated on Facebook by default
datetime
Vhe icon that
Àm Available to everyone A JSON string containing
Facebook displays
on Facebook by default a valid URL
with notes

(#m

'%m #&m %###m #m

All of the A JSON array of objects with À A


 Available to everyone
comments on this a A  and  À
m

on Facebook by default
note fields
ëÀ m
Users who like the Available to everyone A JSON array of objects with À
note on Facebook by default and  fields

'$m

Requires the ºëÀ   permission.

6  mm mm
 mm  mm  mmmmmmm **m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Vo publish a noteA „  the   and  fields to the profile (User or Page) at
º º a„ .

 ë
  ÀÀ

 º º a

',m

A Facebook Page. Vhis object supports Real-Vime Updates for all properties except the
ones marked with a *. Also note that the properties below show the common properties of
all Pages. Pages in specific categories have additional fields depending on category.

"%&$m

https://graph.facebook.com/platform (Facebook Platform)

&'#m

'%m #&m %###m #m

À m
Vhe Page's ID Publicly available A JSON string
m
Vhe Page's name Publicly available A JSON string
 m
Vhe Page's category Publicly available A JSON string
ëÀm
* Vhe number of users who like the Page Publicly available A JSON number

(#m

'%m #&m %###m #m

a Available to everyone on A JSON Array of º


Vhe Page's wall
m

Facebook objects
Returns a HVVP 302 with the
ºÀ  Vhe Page's profile
Publicly available URL of the user's profile
m

picture
picture
Vhe photosA videosA and
 An heterogeneous array of
posts in which this Page Publicly available
m

„ A
À  or „ objects
has been tagged
ëÀ * Vhe Page's posted Available to everyone on
An array of ëÀ objects
m

links Facebook

6  mm mm
 mm  mm  mmmmmmm *+m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

º  * Vhe photos this Page


Publicly available An array of „  objects
m

has uploaded
An array of JSON objects
 º * Vhe groups this Page Available to everyone on containing  ºÀ A
m

is a member of Facebook  ÀA  and  


fields
ë * Vhe photo albums this
Publicly available An array of Më objects
m

Page has created


 * Vhe Page's status
m Available to everyone on An array of 
updates Facebook objects
À  * Vhe videos this Page Available to everyone on
An array of
À  objects
m

has created Facebook


 Available to everyone on
* Vhe Page's notes An array of | objects
m

Facebook
º
* Vhe Page's own posts Publicly available An array of „ objects
m

 * Vhe events this Page


m Available to everyone on
is attending Facebook m
Checkins made by Requires
 À
friends of the current An array of À objects
m

a À  À


session user permissions

)m

An individual photo within an album

"%&$m

https://graph.facebook.com/98423808305 (A photo from the Coke fan page)

&'#m

'%m #&m %###m #m

Available to
À m everyone on
Vhe photo ID A JSON string
Facebook by
default
Available to
Vhe profile (user or
a m everyone on A JSON object containing À
page) that posted this
Facebook by and  fields
photo
default

6  mm mm
 mm  mm  mmmmmmm *,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Available to An array of JSON objectsA the x


Vhe tagged users and
m everyone on and y coordinates are
their positions in this
Facebook by percentages from the left and top
photo
default edges of the photoA respectively
Available to
m Vhe caption given to everyone on
A JSON string
this photo Facebook by
default
Vhe icon that Available to
Àm Facebook displays everyone on A JSON string contain a valid
when photos are Facebook by URL
published to the Feed default
Available to
 m Vhe full-sized source everyone on A JSON string contain a valid
of the photo Facebook by URL
default
Available to
À m Vhe height of the everyone on
A JSON number
photo in pixels Facebook by
default
Available to
À  m Vhe width of the photo everyone on
A JSON number
in pixels Facebook by
default
Available to
ëÀm A link to the photo on everyone on A JSON string contain a valid
Facebook Facebook by URL
default
Available to
  ÀmVhe time the photo everyone on A JSON string containing a
was initially published Facebook by IEVF RFC 3339 datetime
default
Available to
Vhe last time the photo
º  Àm everyone on A JSON string containing a
or its caption was
Facebook by IEVF RFC 3339 datetime
updated
default

(#m

'%m #&m %###m #m

 All of the


m
Available to everyone An array of JSON objects containing
comments on this on Facebook by À A a A  and

6  mm mm
 mm  mm  mmmmmmm *.m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

photo default   À fields


Available to everyone
ëÀ Users who like the An array of JSON objects containing
on Facebook by
m

photo À and  fields


default
Available to everyone
ºÀ  Vhe album-sized An HVVP 302 with the location of
on Facebook by
m

view of the photo the picture URL


default

'$m

Requires the ºëÀ   permission.

Vo publish a photoA issue a „  request with the photo file attachment as


ëÀº a  .

You can publish an individual photo to a user profile with a „  to


º º a„ º We automatically create an album for
your application if it does not already exist. All photos from your application will be
published to the same automatically created album.

You can publish a photo to a specificA existing photo album with a „  to


º º aM º .

If you would like to suppress the story that is automatically generated in the user's feed
when you publish a photo (usually because you plan on generating your own)A you can add
a   parameter. In this caseA the user will receive a notification that your
application has uploaded a photo.

 ë
 aÀëº
 ºÀa  º 
 º º aº 

#m

An individual entry in a profile's feed. Vhe    extended permission is required
to access any information in a profile's feed that is not shared with everyone.

"%&$m

https://graph.facebook.com/19292868552_118464504835613 (A post from Facebook


Platform)

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&'#m

'%m #&m %###m #m

À m
Vhe post ID    JSON string

Information
A JSON object containing the  and
a m about the user    Facebook À of the user who posted the
who posted the
message
message
Profiles
Contains in  a list of JSON objectsA
m mentioned or    each with the  and Facebook À of
targeted in this
the user
post
m
Vhe message    JSON string

If availableA a
ºÀ m link to the picture    JSON string containing the URL
included with
this post
ëÀm Vhe link attached    JSON string containing the URL
to this post
m Vhe name of the    JSON string
link
Vhe caption of
ºÀm the link (appears    JSON string
beneath the link
name)
A description of
 ÀºÀm the link (appears
   JSON string
beneath the link
caption)
A URL to a
Flash movie or
 m
video file to be    JSON string containing the URL
embedded within
the post
A link to an icon
Àm
representing the    JSON string
type of this post
A string
 ÀÀm
indicating which    JSON string
application was

6  mm mm
 mm  mm  mmmmmmm * m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

used to create
this post
A list of
available actions
on the post
Àm (including A list of JSON objects containing the
  
commentingA 'name' and 'link'
likingA and an
optional app-
specified action)
A JSON object containing the ë field
and optional a À A   A ëë
and  fields.

Vhe ë field may specify one of the


following JSON strings: EVERYONEA
CUSVOMA ALL_FRIENDSA
NEVWORKS_FRIENDSA
FRIENDS_OF_FRIENDS.

Vhe a À  field must be specified if


ë is set to CUSVOM and contain one
of the following JSON strings:
EVERYONEA NEVWORKS_FRIENDS
(when the object can be seen by networks
Vhe privacy and friends)A FRIENDS_OF_FRIENDSA
º Àm Publicly
settings of the ALL_FRIENDSA SOME_FRIENDSA
accessible
„ SELFA or NO_FRIENDS (when the
object can be seen by a network only).

Vhe    field may contain a


comma-separated list of network IDs that
can see the objectA or 1 for all of a user's
network.

Vhe ëë field must be specified when


the a À  value is set to
SOME_FRIENDS and must specify a
comma-separated list of user IDs and
friend list IDs that 'can' see the post.

Vhe  field may be specified if the


a À  field is set to SOME_FRIENDS

6  mm mm
 mm  mm  mmmmmmm *!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

and must specify a comma-separated list


of user IDs and friend list IDs that
'cannot' see the post.

|  Vhis privacy setting only applies to


posts to the current or specified user's
own Wall. Facebook ignores this setting
for targeted Wall posts (when the user is
writing on the Wall of a friendA PageA
eventA group connected to the user).
Consistent with behavior on FacebookA
all targeted posts are viewable by anyone
who can see the target's Wall.


m 
 Any non-default privacy
setting must be intentionally chosen by
the user
Vhe time the post
  Àm A JSON string containing a IEVF RFC
was initially   
3339 datetime
published
Vhe time of the
º  Àm A JSON string containing a IEVF RFC
last comment on   
3339 datetime
this post
Location and
A JSON object containing comma
 Àm language º separated lists of valid   A À A
restrictions for
À and ëë
Page posts only

(#m

'%m #&m %###m #m

All of the Available to An array of JSON objects containing



comments on this everyone on À A a A  and   À
m

post Facebook fields


Available to
ëÀ Vhe likes on this An array of JSON objects containing
everyone on
m

post the À and  fields


Facebook

'$m

Requires the ºëÀ   permission.

6  mm mm
 mm  mm  mmmmmmm *&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Vo publish a wall postA „  the message and optional attachment to the feed/wall of the
userA page or groupA i.e.A º º a„ a . When
publishing to a PageA to target a post to users in a specific location or languageA use the
appropriate values from the following files: all cities (CSV)A major cities (CSV)A locales
(CSV)A cities and locales (JSON).

 ë
  Àa Àë
ëÀ º  ºë Àë ë
ºÀ  º  ºë Àë Àë º
M ˑˑ
ºÀ ºÀa  ëÀ
  ÀºÀ   ÀºÀa ëÀ
À
À   ëÀ
 º  
º ÀëM|
 À À  À  ëë 
 º º aa 

+-m

A review for an application

"%&$m

https://graph.facebook.com/2345053339/reviews (An array of Reviews of the Facebook


Developer app)

&'#m

'%m #&m %###m #m

À m Vhe Facebook ID of Available to everyone


A JSON string
the review on Facebook by default
  ÀmVhe timedate the Available to everyone A JSON string containing a
review was created on Facebook by default IEVF RFC 3339 datetime
A JSON object containing
a m Vhe user that created Available to everyone
the À and  of the
the review on Facebook by default
creating user
m Vhe review text Available to everyone
A JSON string
(optional) on Facebook by default
Àm Available to everyone A JSON integer between 1
Vhe review rating
on Facebook by default and 5
m Vhe application to Available to everyone A JSON object containing
which this review on Facebook by default the À and  of the

6  mm mm
 mm  mm  mmmmmmm +'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

applies application

'#m%##',m

A status message on a user's wall

"%&$m

https://graph.facebook.com/367501354973 (A status message from Bret Vaylor)

&'#m

'%m #&m %###m #m

Publicly available to
À m Vhe status message
everyone on Facebook by A JSON string
ID
default
Publicly available to
a m Vhe user who posted A JSON object containing
everyone on Facebook by
the message À and  fields
default
Publicly available to
m Vhe status message
everyone on Facebook by A JSON string
content
default
Vhe time the Publicly available to A JSON string containing
º  Àm
message was everyone on Facebook by a IEVF RFC 3339
published default datetime

(#m

'%m #&m %###m #m

All of the Publicly available to An array of JSON objects



comments on this everyone on Facebook containing À A a A  and
m

message by default   À fields


Publicly available to
ëÀ Vhe users that have An array of JSON objects
everyone on Facebook
m

liked this message containing À and 


by default

'$m

Requires the ºëÀ   permission.

Vo publish a status updateA „  the  field to the feed/wall of the user whose status
you want to updateA i.e.A º º aa .

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 ë
 ÀÀº 
 º º aa 

!#&m

A subscription to an application to get real-time updates for an Graph object type. For more
detailsA see the Real-time Overview.

"%&$m

https://graph.facebook.com/APP_ID/subscriptions (APP_NAME)

&'#m

'%m #&m %###m #m

Available to
 m Vhe object type to A JSON string containing
everyone in
subscribe to   or º ÀÀ
Facebook by default
Available to A JSON string containing
aÀë m Vhe list of fields for the
everyone in a comma-seperated list of
object type
Facebook by default field names
An endpoint on your Available to
ëë ëm A JSON string containing
domain which can handle everyone in
a valid URL
the real-time notifications Facebook by default
Available to
Àm Whether or not the
everyone in A JSON boolean
subscription is active or not
Facebook by default

'$m

Vo create a subscriptionA issue a „  request with the  A aÀë  and ëë ë
to the application/subscriptions connection.

 ë º º aM„„ ÀºÀ



  
aÀë ÀÀÀ a À  a 
ëë ë º Àëëº º

 Àa    

6  mm mm
 mm  mm  mmmmmmm +*m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

)'m

A message thread in the new Facebook messaging system. Every thread has a thread ID
that represents an object in the Graph. Vo get access to read a user's threadsA you should
request the  Àë Extended Permission. Vhis is a read only API.

You can GEV individual message threads by specifying the thread ID:

 º º a  À




Or you can GEV all the threads in a user's inbox:

 º º a À


  

You can also filter or query threads by tag or query terms:

 º º a À


  
 ëë
 º º a À
  
 ëë   

For a full list of tagsA please see the unified_thread FQL table.

&'#m

'%m #&m %###m #m

À m Vhe unique ID for this  Àë JSON string


message thread
Àººm Fragment of the thread for  Àë JSON string
use in thread lists
º  Àm Vimestamp of when the A JSON string containing a
 Àë
thread was last updated IEVF RFC 3339 datetime
mNumber of messages in the
 Àë An integer
thread
  m Number of unread
 Àë An integer
messages in the thread
m
Vhread tags  Àë A list of JSON strings

(#m

'%m #&m %###m #m

Contains in  a list of


º ÀÀº m
A list of the thread  Àë JSON objects each of
participants
which have A ÀëA

6  mm mm
 mm  mm  mmmmmmm ++m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

and Facebook À (if


available) as fields
Contains in  a list of
A list of former thread
JSON objects each of
a  º ÀÀº participants who have
 Àë which have A ÀëA
m

unsubscribed from the


and Facebook À (if
thread
available) as fields
Contains in  a list of
A list of participants JSON objects each of
  
who have sent a  Àë which have A ÀëA
m

message in the thread and Facebook À (if


available) as fields
A list of the 

objects contained in  Àë A list of  objects
m

this thread

#m

A user profile. Vhis object supports Real-Vime Updates for all properties except the
 ÀaÀ property.

"%&$m

https://graph.facebook.com/me (current user)

&'#m

'%m #&m %###m #m

Vhe user's
À m
Facebook Publicly available A JSON string
ID
m Vhe user's
Publicly available A JSON string
full name
aÀ m Vhe user's
Publicly available A JSON string
first name
ëm Vhe user's
Publicly available A JSON string
last name
  m Vhe user's
Publicly available A JSON string
gender
ëëm Vhe user's A JSON string
Publicly available
locale containing the

6  mm mm
 mm  mm  mmmmmmm +,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ISO Language
Code and ISO
Country Code
Vhe URL of
A JSON string
ëÀm the profile
Available to everyone on Facebook containing a
for the user
valid URL
on Facebook
Vhe user's
 m
Facebook Publicly available A JSON string
username
An
anonymousA
 À º À m
but unique Available to everyone on Facebook A JSON string
identifier for
the user
Vhe user's
À m timezone
Available only for the current user A JSON number
offset from
UVC
Vhe last A JSON string
º  Àm time the containing a
Available to everyone on Facebook
user's profile IEVF RFC 3339
was updated datetime
Vhe user's
 ÀaÀ m account
Available to everyone on Facebook A JSON boolean
verification
status
Vhe blurb
that appears
m Requires   or
under the a À º ÀÀ
A JSON string
user's profile
picture
Àm Vhe user's
Requires the   A JSON string
biography
À  m Vhe user's Requires  À   or
A JSON string
birthday a À À  º ÀÀ
An array of
A list of the Requires JSON objects
 Àm user's   À À  or containing
education a À  À À 
 ëA 
history permission
and º fields

6  mm mm
 mm  mm  mmmmmmm +.m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Vhe proxied
or contact A JSON string
Àëm email containing a
Requires Àë permission
address valid email
granted by address
the user
A JSON object
 m Vhe user's Requires     or
containing 
hometown a À    permission
and À
Vhe genders Requires A JSON array
À  Àm
the user is   ëÀ Àº Àë or containing JSON
interested in a À  ëÀ Àº Àë strings
Vhe user's A JSON object
ëÀm Requires  ëÀ or
current containing 
a À ëÀ permission
location and À
Vhe user's Requires
ºëÀÀëm   ëÀÀºëÀÀ or
political a À  ëÀÀºëÀÀ
A JSON string
view permission
Vhe user's

m
favorite Requires the   A JSON string
quotes
Vhe user's Requires   ëÀ Àº or
ëÀ Àºm
relationship a À  ëÀ Àº A JSON string
status permission
Requires
ëÀÀm Vhe user's   ëÀÀºëÀÀ or
A JSON string
religion a À  ëÀÀºëÀÀ
permission
Vhe user's Requires Returns a JSON
ÀÀaÀ  m   ëÀ Àº Àë or
significant object containing
a À  ëÀ Àº Àë
other  and À
permission
Vhe URL of
A JSON string
Àm the user's Requires   À or
containing a
personal a À  À permission
valid URL
website
An array of
A list of the Requires     À  or JSON objects
 m
user's work a À    À  containing
history permission ºë A
ëÀA

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ºÀÀA
  and
   fields

(#m

'%m #&m %###m #m

Returns a HVVP 302


with the URL of the
user's profile picture
ºÀ  Vhe user's
Publicly available (use ?type=small |
m

profile picture
normal | large to
request a different
photo)
An array of JSON
a À  Vhe user's objects containing
Available to everyone on Facebook
m

friends friend À and 


fields
If the º permission has An array of JSON
Vhe Facebook
been grantedA this connection also objects containing
 pages owned
yields access_tokens that can be used account À A
m

by the current
to query the Graph API on behalf of   and 
user
the page field
Vhe user's
An array of app
ºº 
 outstanding Vhis property can only be accessed
requests for the user
m

requests from with an app access token


within that app
an app
An array of JSON
Vhe activities objects containing
ÀÀÀ Requires the  ÀÀÀ or
listed on the activity À A A
m

a À ÀÀÀ permission


user's profile   and
 À fields
Vhe photo
ë albums this
m Requires the  º  or An array of Më
user has a À º  permission objects
created
An array of JSON
Vhe books objects containing
 Requires the  ëÀ or
listed on the book À A A
m

a À ëÀ permission


user's profile   and
 À fields

6  mm mm
 mm  mm  mmmmmmm + m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Vhe places that


 À m the current Requires the   À or An array of À
user has a À  Àº ÀÀ objects
checked-into
An array of JSON
objects containing
Vhe events this
 Requires the   or event À A A
user is
m

a À  permission  ÀA


attending
 ÀA ëÀ
and º
An array of „
objects containing the
a Requires the    permission
Vhe user's wall last 30 days or 50
m

to see non-public posts


postsA whichever is
greater
An array of JSON
a À ëÀ Vhe user's m
Requires  a À ëÀ to read objects containing À
friend lists &a À ëÀ to write and  fields of the
friendlist
An array of „
objects containing the
 Vhe user's
Requires the    permission last 30 days or 50
m

news feed
postsA whichever is
greater
Vhe threads in
À Requires the  Àë
this user's An array of threads
m

permission
inbox
An array of JSON
Vhe interests objects containing
À  Requires the  À  or
listed on the interest À A A
m

a À À  permission


user's profile   and
 À fields
An array of JSON
All the pages objects containing
ëÀ Requires the  ëÀ or
this user has like À A A
m

a À ëÀ permission


liked   and
 À fields
ëÀ Vhe user's An array of À
Requires the    permission
m

posted links objects


À Vhe movies
m
Requires the  ëÀ or An array of JSON
listed on the a À ëÀ permission objects containing

6  mm mm
 mm  mm  mmmmmmm +!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

user's profile movie À A A


  and
 À fields
An array of JSON
Vhe music objects containing
À Requires the  ëÀ or
listed on the music À A A
m

a À ëÀ permission


user's profile   and
 À fields
 Vhe user's An array of |
Requires the    permission
m

notes objects
Vhe messages
 Requires the  Àë
in this user's An array of messages
m

permission
outbox
Requires the
Vhe user's
 º À A
º  m
photos and/or An array of „ 
a À º À A
the photos the objects
 º  or a À º 
user is tagged
permissions
º m
Vhe user's own Requires the    permission An array of „
posts to see non-public posts objects
 Vhe user's An array of 
Requires the    permission
m

status updates  objects


Vhe photosA
An heterogeneous
videosA and
 array of „ A
posts in which Requires the    permission
m


À  or „
this user has
objects
been tagged
An array of JSON
Vhe television objects containing
ëÀÀ Requires the  ëÀ or
listed on the television À A A
m

a À ëÀ permission


user's profile   and
 À fields
Vhe updates in
º  Requires the  Àë
this user's An array of messages
m

permission
inbox
Vhe videos this
À  Requires the  À  or An array of
À 
user has been
m

a À À  permission objects


tagged in

6  mm mm
 mm  mm  mmmmmmm +&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

[m

An individual video

('%&$m

https://graph.facebook.com/614004947048 (A tech talk on Vornado)

!$#),m

Vo publish a videoA issue a POSV request with the video file attachment as multipart/form-
data to https://graph-video.facebook.com/me/videos. Here¶s a simple PHP example:

ö º º
 ººÀ  M„„
 ºº  M„„ 
  ë „  |
 À Àë 
 
 À   
  „ |

    


Àa º  
Àë ë º a Àë ëÀÀ 
 ººÀ   À  À ë   ë
 ººëÀ  
  ö ÀººëÀ a Àë ëö Àº


  ë º º a  ëÀÀ 
 ººÀ   À  À ë   ë
 ëÀ  ºº 
    
 aÀë  ë

 º ë º º À aÀ  
Àë À Àë  ÀºÀ À  
  

 öa ºëÀº a  À º ë
  „ 
 „ë aÀë
 öÀºaÀëºaÀë
 öÀººÀëºë 
 öa 


Vhe video will be published to the uploader's own wall. Note that the URL has to be graph-
video.facebook.comA not graph.facebook.com.

6  mm mm
 mm  mm  mmmmmmm ,'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&'#m

'%m #&m %###m #m

Available to
À m
Vhe video ID everyone on A JSON string
Facebook by default
Available to A JSON object
a m Vhe profile (user or page)
everyone on containing À and 
that created the video
Facebook by default fields
Available to An array of JSON
m Vhe users who are tagged in
everyone on objects containing À
this video
Facebook by default and  fields
Available to
m
Vhe video title or caption everyone on A JSON string
Facebook by default
Vhe html element that may Available to
  ëm A JSON string
be embedded in an Web page everyone on
containing a valid URL
to play the video Facebook by default
Vhe icon that Facebook Available to
Àm A JSON string
displays when video are everyone on
containing a valid URL
published to the Feed Facebook by default
Available to
 m A URL to the rawA playable A JSON string
everyone on
video file containing a valid URL
Facebook by default
Available to A JSON string
  ÀmVhe time the video was
everyone on containing a IEVF RFC
initially published
Facebook by default 3339 datetime
Available to A JSON string
º  ÀmVhe last time the video or its
everyone on containing a IEVF RFC
caption were updated
Facebook by default 3339 datetime

(#m

'%m #&m %###m #m

Available to
ëÀ All of the likes on this An array of JSON objects
everyone on
m

video containing À and  fields


Facebook by default
Available to An array of JSON objects
 All of the comments
everyone on containing À A a A  and
m

on this video
Facebook by default   À fields

6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Vhe image which Available to


ºÀ  An HVVP 302 with the URL of
represents the content everyone on
m

the album's cover picture


of the video Facebook by default

6  mm mm
 mm  mm  mmmmmmm ,*m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 &#m'+'.'#m

'$,#m

Dialogs provide a simpleA consistent interface to display dialogs to users. Dialogs do not
require special user permissions because they require user interaction. Dialogs can be used
in any type of applicationA whether on Facebook.comA a websiteA or a mobile application.

You can integrate Dialogs into your application by constructing the URLs documented
belowA or by using a helper method in one of the Facebook Platform SDKs:

r JavaScript SDK using the FB.ui method.


r iOS SDK using the dialog method.
r Android SDK using the dialog method.

m
'$,m #m

Every dialog has a method name and parameters. Vhe URL to a dialog always starts with

 º a Àë

followed by the name of the dialog and parameters. For exampleA to ask a user to post a
story to their WallA send them to the Feed Dialog with required parameters:

 º a Àëa 


ººÀ 
     
  À  À º  ºë º

Click here to try the above URL yourself. Vhe user will see a dialog that looks like below
(though the one below has extra parameters). If the user is not already logged into
FacebookA they will be asked to log in before being shown the dialog.

6  mm mm
 mm  mm  mmmmmmm ,+m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

m
%%m''%#m

All Platform Dialogs share a few common parameters:

m
|    

ººÀ  Yes Your application identifier.
 À  ÀYes
Vhe URL to redirect to after the user clicks a button on the
Dialog.
Display mode in which to render the Dialog. Can be ºA
No. Default ºººA Àa A  A or º. If you specify Àa A you
Àºë
is º must have a valid . Vo get a valid
A please see the Authentication guide

m
#&$'/m #m

Platform Dialogs are all built to seamlessly run in a variety of display contexts on both the
web and mobile.

r º: By defaultA dialogs run in full-page mode with a Facebook header and footer.
Vhis is appropriate for apps that do a full-page redirect in a normal desktop/laptop
web browser.

6  mm mm
 mm  mm  mmmmmmm ,,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

r ººº: For use in a browser popup no bigger than 400px by 580px. Use this display
type to maintain context for the user while on an external website.
r Àa : Display the dialog in a lightbox iframe on the current page. Because of the
risk of clickjackingA this is only allowed for some certain dialogsA and requires you
to pass a valid .

On Facebook canvas pagesA Dialogs are supported only for iframe applications. For FBML
applicationsA you can use some of the dialogs through specific FBJS methods.

!$m#&$'/m #m

Vo show a dialog to a user on a mobile deviceA change the subdomain of the dialog URL
from to . Facebook will default to an appropriate view based on the user agent. Vo
override that choiceA you can explicitly specify one of two mobile display modes:

r  : Used on smartphone mobile devicesA like iPhone and Android. Use this for
tablets with small screens (i.e.A under 7 inches) as well.
r º: Display plain HVML (without JavaScript) on a small screenA such as a Nokia
7500.

E.g.A the URL for a Feed dialog displayed on a touch device:

 ºa Àëa 
ººÀ 
     
  À  À º  ºë º 
Àºë 

With more parametersA this looks like:

6  mm mm
 mm  mm  mmmmmmm ,.m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

'$,#m
Feed Dialog

6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Prompt the user to publish an individual story to a profile's feed

Friends Dialog

Prompt the user to add a friend.

OAuth Dialog

Prompt the user to authorize and grant your app permissions

Pay Dialog

Prompt a payment

Requests Dialog

Requests Dialog

0 m

Facebook Query LanguageA or FQLA enables you to use a SQL-style interface to query the
data exposed by the Graph API. It provides for some advanced features not available in the
Graph APIA including batching multiple queries into a single call.

You can execute FQL queries by fetching


ººÀa  a
ë
 
 . You can specify a
response format as either XML or JSON with the a  query parameter.

Queries are of the form  aÀë 


 ë
 ÀÀ
. Unlike
SQLA the FQL  clause can contain only a single table. You can use the | keyword in
  or  clauses to do subqueriesA but the subqueries cannot reference variables in
the outer query's scope. Your query must also be À A meaning that it queries
properties that are marked as indexable in the documentation below.

FQL can handle simple mathA basic boolean operatorsA AND or NOV logical operatorsA and
ORDER BY and LIMIV clauses.

For any query that takes a À A you can pass   to return the logged-in user. For
example:

   À  

6  mm mm
 mm  mm  mmmmmmm , m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Other functions that are available are  A  ë A   and  º .

Here's an example of a subquery that fetches all user information for the active user and
friends:

 À  ºÀ


   À  
À |  À
 a À À  

For more informationA check out the tables belowA most of which have sample queries
demonstrating their use. Also check out the Performance Guide for tips on optimizing your
FQL.

'!$#m
m

Query this table to return information about a photo album.

##   m

Query this table to return read-only properties about an application.

(
)m

Query this table to return information about a checkin. By defaultA this query returns the
last 20 checkins and returns a maximum of 500 checkins.

 
m

Query this table to obtain comments associated with one or more fb:comments/Feed story
comment XIDs.

 
G< m

Vhe comments_info FQL table. Query this table to obtain XIDs for fb:comments objects
associated with an application ID.

 
 m

Query this table to return a user's friends and the Facebook Pages to which the user is
connected.

 )
m

6  mm mm
 mm  mm  mmmmmmm ,!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Query this table to return information about a cookie.

$
-
#
m

Query this table to return the application IDs for which the specified user is listed as a
developer in the Developer application.

$  m

Vhe domain table provides a read-only mapping between domain names and ids.

$  G $m

Query this table to return information about the admin of a domain.

-
m

Query this table to return information about an event.

-
G

m

Query this table to return information about a user's status for an event.

<  9m

Query this table to return detailed information about a user's family.

<
$m

Query this table to determine whether two users are linked together as friends.

<
$G
D
m

Query this table either to determine which users have sent friend requests to the logged-in
user or to query whether a friend request has been sent from the logged-in user to a specific
user.

<
$ m

Query this table to return any friend lists owned by the specified user.

<
$ G

m

6  mm mm
 mm  mm  mmmmmmm ,&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Query this table to determine which users are members of a friend list.

0 #m

Query this table to return information about a group.

0 #G

m

Query this table to return information about the members of a group.

0(m

Vhe insights table contains statistics about applicationsA pages and domains

)
m

Query this table to return the user IDs of users who like a given Facebook object (videoA
noteA linkA photoA or photo album).

)m

Query this table to return the links the current user has posted.

)G m

Query this table to return detailed information from your Facebook Share implementation.

  %G< $
m

Query this table to return information about a user's Inbox folders.


 0
m

Query this table to return information about messages in a thread.

 
m

Query this table to return the notes the current user has written or to return details for a
particular note.

 <  m

6  mm mm
 mm  mm  mmmmmmm .'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Query this table to get the notifications for the current session userA that isA any notification
that appears on http://www.facebook.com/notifications.php.


G m

Query this table to return information about a URL in the Open Graph

# 0
m

Query this table to return information about a Facebook Page.

# 0
G $m

Query this table to return information about the admin of a Facebook Page.

# 0
G< m

Query this table to return information about the fan of a Facebook Page.

#
 m

Query this table to return the extended permissions the current user has granted to the
application.

#
 G< m

Query this table to return more descriptive information about extended permissions.

#(  m

Query this table to return information about a photo.

#(  G 0m

Query this table to return information about a photo tag.

# 
m

Query this table to return information about a place.

#- 9m

Query this table to return a user's privacy setting for a given object_id.

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

# <
m

Query this table to return certain (typically publicly) viewable information from a user's
profile or Facebook Page that is displayed in a story.


-
4m

Query this table to obtain reviews associated with an applicationA a user or both.

 $ $G<
$G< m

Query this table to determine whether two users are linked together as friends.

 $ $G
G< m

Query this table to return standard information about a userA for use when you need analytic
information only.

 m

Query this table to return one or more of a user's statuses.


m

Query this table to return posts from a user's stream or the user's profile.


G< 
m

Query this table to return a filter_key that can be used to query the stream FQL tableA as
seen through any content filters the user has available on Facebook.


G 0m

Query this table to return associations between users or Facebook Pages and the items they
tag in status posts.

(
$m

Query this table to return information about message threads in a user's Inbox.

   m

6  mm mm
 mm  mm  mmmmmmm .*m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Query this table to return the native strings (originalA untranslated text in your application
interface) and the translated strings for your application.

<
$G
 0
m

Vhis table can be used to access information about messages in the new Facebook
messaging system.

<
$G(
$m

Vhis table can be used to access information about threads in the new Facebook messaging
system.

<
$G(
$G  m

Vhis table should be used to access information about subscribe and unsubscribe actions
performed on a thread in the new Facebook messaging system.

<
$G(
$G m

Vhis table should be used to access information about the number of threads in a folder in
the new Facebook messaging system.


m

Query this table to return detailed information from a user's profile.

-$
m

Query this table to return information about a video.

-$
G 0m

Query this table to return information about a video tag.

''$.'mm

Facebook is currently available in over 70 languagesA thanks to a framework that allows our
user community to translate the text on Facebook. By integrating with FacebookA you can
take advantage of our Vranslations framework immediatelyA so you can enjoy the benefits
that translation can bring to your Platform application or website.

6  mm mm
 mm  mm  mmmmmmm .+m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Ê   
 

Vhe locales that Facebook supports are available in an XML file.

Facebook locales follow ISO language and country codes respectivelyA concatenated by an
underscore.

Vhe basic format is ''ll_CC''A where ''ll'' is a two-letter language codeA and ''CC'' is a two-
letter country code. For instanceA 'en_US' represents US English.

Vhere are two exceptions that do not follow the ISO standard: ar_AR and es_LA. We use
these to denote umbrella locales for Arabic and SpanishA despite in the latter case having a
few more specialized localizations of Spanish.

You can determine this information about a user by examining the ëë field of the User
Graph API object.

m  
   m        m  m

If you're rendering a social plugin in an IFrameA Facebook automatically translates the text
because it's based on the viewing user's locale.

If you're using XFBMLA you need to load the JavaScript SDK in the appropriate locale for
your site. For exampleA if your site is in SpanishA reference this script:

ºaMëë 

''$.,m/m&&$'m

Vhe following steps assume you have created an application and have an application ID.

r Preparing your application for translation

6  mm mm
 mm  mm  mmmmmmm .,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

r Registering the text you want translated


r Marking up text for translation
r Getting your application translated
r Managing the translation process
r Best practices

&',m1m&&$'m2m'#$'m

In order to opt into the Facebook Vranslations frameworkA you need to set the native
language for your applicationA then you need to decide into which languages you want your
application translated.

m      
  

1. Go to the My Applications page in the Facebook Developer applicationA where you
initially configured your application.
2. Select the application you want translatedA then click §m
3. On the p tabA select the  in which your application is currently
writtenA then save your selection. Vhis selection determines the native language
from which translations will occur.

6  
       

Once you configure your application's native languageA you need to specify into which
languages you want your application translated.

1. Visit the Vranslations admin panel for your application. Select which application
you want to translate from the dropdown menu in the upper right corner.
2. Enable a language for translation. Vo enable translation of your application into a
particular localeA select the row for the appropriate A then check the 
check box for that locale. After checking itA users can see any strings that you mark
as translatableA and can provide translations for them.
|  If this check box is NOV checkedA the only people who can translate your
application into this language are the application's developers (listed in the
Facebook Developer application) and those designated as the language managers for
this language in the m column.

Once you initiate the translation processA you'll return to the Vranslations dashboard when
you need to do more administration. For nowA these steps are the ones necessary to get
started.

6  mm mm
 mm  mm  mmmmmmm ..m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

,#,m)m(m1m3'm'#$'m

Vext can come from a lot of placesA and it's important that if your application is available in
a language that everything is translatable. Vhe following is an exhaustive list of all places
that you may find content you need to prepare for the translation process.

            

Use FBML (for FBML applications) or XFBML (for Facebook websites or IFrame
applications) markup tags for this text.

      

Vhere is a list of static text about your application that you may enter on facebook.com
which you may want to have translated. Each of these fieldsA when submitted or updated on
FacebookA will automatically be registered on the Vranslations application on behalf of your
application.

r Application Name
r Application Description
r Vab Name
r Attachment Vext
r Description (from the Application Profile)
r About the Developers (from the Application Profile)

Once a translation is ready for any of these fields from the Vranslations applicationA it will
automatically get used on Facebook without any further effort on the part of the developer.

                   

Wrap the text using the FBML internationalization markup tags. VhenA use
intl.uploadNativeStrings if you want to register the text to be translatable by users before
actually sending it.

      

You may have content that isn't rendered directly. For instanceA if your application is an
online storeA you might store a list of item names of your inventory. In order for this text to
be registered for translationA use intl.uploadNativeStrings to register all variations of the
text that include each item from your database.

|  Vhis technique should   apply to strings that change frequentlyA or are user-
generated. Each application has a static limit for the number of strings that may be

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

registered at any given timeA so it's important to avoid submitting dynamic content for
translation.

           

Vhis content cannot be translated directly using Facebook Vranslations. If you want to serve
internationalized imagesA you need to generate an image for each language you wish to
supportA and determine the user's locale (for exampleA via users.getInfo) to decide which
image to serve them.

'*,m&m(m2m'#$'m

In order for you to submit structured text for use with Facebook VranslationsA there are a
number of FBML and XFBML tags that have been added to accomplish this.

r fb:intl -- Vhe principal tag for making a string of text translatable.


r fb:intl-token -- Replaces a token contained within fb:intl with its content.
r fb:tag -- Renders an HVML tag. Only useful in conjunction with fb:tag-attribute.
r fb:tag-attribute -- Contains the value of an HVML attribute specified by fb:tag that
needs to be translatable.
r fb:tag-body -- Contains the contents of an HVML tag specified by fb:tag. Only
useful when fb:tag-attribute is needed.
r fb:date -- Renders a dateA adjusting the format correctly depending on the locale
settings of the viewing user.
r fb:fbml-attribute -- Similar to fb:tag-attributeA this contains the value of an attribute
of an FBML tagA allowing the value to be translated. · pm 

r fb:window-title -- Including this allows the window title of the current IFrame to be
translatable. Note that this tag is only useful for Facebook Connect websites.
· pm 


§  6 

Let's say you have the following FBML in your application (or XFBML on your site):

ÀöaÀ   aëaÀ ë 


ºa     

When Facebook renders the FBMLA this would yield the proper English sentence 'Give
James a copy of "Catcher In the Rye"?'. HoweverA in order to render it in a way that is
translatableA this line must be converted to the following:

öaÀë MÀ     À


 ÀöaÀ   aëºaÀë 
öaÀëÀë
    

6  mm mm
 mm  mm  mmmmmmm . m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

öaÀë
öaÀë

Some things to note about this code:

r Vhe variable text (the book title) is a token formatted in curly bracketsA since you
don't want the actual book title to be part of the translatable text. Vhis stringA
including the tokenA is what translators will need to be able to translateA using only
the description as context. Wrapping the text in fb:intl-token places the variable text
into the string at render time. Vhe  attribute must be the string in the token(s) it
is meant to replace. While these components generally can be ordered in any wayA
you should do something similar to the aboveA for the sake of readability and to
prevent forgetting tokens.
r Vhe translatable message still contains the fb:name tag. Vhis tag gets displayed as a
token when the string is presented to translatorsA but the token is inserted by
Facebook's translation system. You do not need to put it inside curly braces
manually. Vhe translator will be presented with the stringA "Give {name} a copy of
"{book-title}"?" in this case.

Once your FBML text uses these tagsA it will be uploaded to the Vranslations application on
the first canvas page load containing this FBML. After that initial page loadA it will be
translatable both in the Vranslations application as well as inline by Facebook users. Once
the text is translated inA sayA SpanishA it will appear to users browsing in the Spanish locale.

p   

Much of this may become clearer after reading the best practices for advice on how to best
prepare your applications. We  
encourage you to do so.

0,m1m&&$'m'#$'m

Now that you prepared your application or site for translation and registered all the text you
want translatedA you can start getting the text translated. Any Facebook user can translate
your applicationA but it's much easier for people who have already authorized your
application.

Users can translate text in two ways:

r Inline while using your application.


r Vranslating in bulk from the Vranslations application itselfA which is an easy way to
translate many strings of text at once.

6  mm mm
 mm  mm  mmmmmmm .!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Ú      

Users can translate strings inline if they've enabled this mode of translation. Vhe screenshot
below shows what inline translation mode looks like to a user. Underlined strings are
available for translation (and voting) simply by right-clicking on the underlined text.

Users can enable inline translating by clicking the link in the Vranslations dialog on the
status bar.

p    

Vhe Vranslations application has a user interface that allows translators to quickly and
efficiently translate many strings. Vo direct a user to translate your application's strings in
bulkA link them to
º a ëÀÀ  º º  ë ººö M„„
A specifying your application ID.

 ! 

Vhe best way to learn how your application can be translated is to actually try it out. Vhe
Facebook Vranslations application has a help guide for getting started with translating. Vhis
may help you better understand the process.

6  mm mm
 mm  mm  mmmmmmm .&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

'',,m)m'#$'m##m

Use the Vranslations admin panel to manage the translation process for your applications.

1. Visit the Vranslations admin panel for your application. If the default selection is
not the application you wish to translateA select the right one from the dropdown in
the upper right corner.

2. § mm m   Vo enable translation of your application into a particular
localeA select the row for the appropriate A then check the  check box
for that locale. After checking itA users can see any strings that you mark as
translatableA and can provide translations for them.
|  If this check box is NOV checkedA the only people who can translate your
application into this language are the application's developers (listed in the
Facebook Developer application) and those designated as the language managers for
this language (see the m column).
3. m m Click the link for the language in the 
column. You are taken to the p m  tab for text in this language.
4. 6  !m m m m m  m  Vhe progress bar in the
V  "#  m  column gives you a high level idea of what
percentage of your text is translated and/or been approved.
5.  
m m  In the m columnA specify which
Facebook users can administer translations in the given language. Vhese individuals
may viewA addA and remove translations regardless whether the application is open
to all translators.

6  mm mm
 mm  mm  mmmmmmm 'm m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

6.   mm m  When you decide that the existing translations are
sufficientA click the blue   link. It turns green and changes to ''Published''A
which indicates that all users that view your text while viewing Facebook in this
locale will see the translations. AdditionallyA if your application is (or becomes)
available in the Facebook Application DirectoryA then it will show up there in the
newly published locale.

M        

Facebook Vranslations has multiple ways for you to view and access the text you've
registered for translationA as well as the translations provided by Facebook users. Vhe
translation data retrieved from these methods may be used or stored however you choose.

You can always view and edit your text and translations from the Vranslations admin
console. HoweverA you can't export translations from the console currently. You can get the
translations programmatically.

Vhere are two programmatic ways for accessing translation data:

r 6 m m V  m# m   Call this method to easily query all
of your translations for a particular language.
r ‰
m m  m ‰m  Query this table for a very select set of
translation data.

p   

We may make many assumptions when working with text in codeA which may not always
hold true in other languages. Vo help you prepare your application for most languages and
quirksA we offer these best practices and lessons learned by the Facebook
internationalization team. Unless otherwise indicatedA these examples apply to both FBML
and XFBML markup.

p  

In generalA text under 20 characters should have a description (use the  attribute). A
word like "Poke" can vary if it is used as a noun or a verb. Facebook Vranslations works by
creating a hash value from the text and description of the phrase. Vhat means that even a
slight change to the original text or description will cause your string to be counted as a
completely new one. So err on the side of starting off with a complete description you won't
have to clarify later. For exampleA do this:

öaÀë ëa aº ë|öaÀë

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

In some languagesA the word for "name" is different depending on whether it's the name of
a personA a placeA or an object. A description here allows a translator to choose the correct
word for this label.

Descriptions should usually indicate context as well as meaning. Vhis is especially


important for things like link text that are presented as part of a larger grammatical
structure like a sentence.

So do this:

öaÀë  º    À 


º öaÀë

In languages where nouns change depending on whether they're used as the subject or
object of a sentenceA this description will allow translators to use the correct form.

 "    ! 

Don't include HVML markup in a translatable string; split the text into multiple translatable
strings. OtherwiseA translators will be able to modify your markup. | put tags with
behavior such as <a> inside a translatable stringA since a translator would be able to make
changes to the tag's contents. Vhis is a better way to render an anchor:

öaÀë ëÀ  À


öaÀë  
ö a  
öaÀë  ëÀ  À  öaÀë
ö
öaÀë
öaÀë

Ê 6mm    ! 

Use CSS rather than markup to confine text to particular parts of the page or to style your
text. For exampleA if you have the text "Next Page" and you want each word on a separate
lineA put it in a <div> with a maximum width rather than putting a <br> tag in between the
two words. Don't split the text into separately translatable units since it will prevent
translators from changing word order if needed.

 $ do either of these:

öaÀë| ö „öaÀë



öaÀë| öaÀëö öaÀë„öaÀë

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

If a language needs the word for "Page" to come before the word for "Next"A it is
impossible to translate correctly.

RatherA do  :

ö ÀëëÀÀ  À   öaÀë| „öaÀëö À

With appropriate CSSA the browser will word wrap the string appropriately.

    M   #!




Vhere are some HVML tags that have attributes that can take on text valuesA like the "value"
attribute of an <input> tag or the "alt" text of an image. Vo make situations like these
translatableA use fb:tag-attribute. You would format markup for a form like this:

öÀººÀ
öa Àë
öaÀë ÀÀa  ëÀ  öaÀë
öa À
öÀº

M 
  $     m% 

Vry not to use layouts that depend on the precise onscreen sizes of pieces of text in the
original language. For any piece of textA in some languages it is likely to be shorter and in
some it will be longer (sometimes significantly so in either direction.) If you have sized
your user interface elements such that your text just barely fitsA your application will
probably not work well in a language with longer words.

M  &  ' & 6 

Assume that a translator will have to change the word order of every sentence. In particularA
don't try to assemble sentences from smaller separately-translatable fragmentsA because
even if you provide excellent descriptionsA it's likely you will make it impossible for a
translator to come up with a grammatically correct translation. InsteadA expand all the
possible cases out into separate translatable sentences and choose a complete sentence in
your code.

Here's a simple example to  :

öaÀë ÀöaÀëöaÀë öaÀë


öaÀë ÀöaÀëöaÀë  öaÀë

Here the code is printing the beginning of the sentenceA which doesn't change in EnglishA
then choosing one of two possible endings. Vhis is impossible to translate correctly to

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ChineseA where the phrases for "at home" and "at a restaurant" need to come before the
word for "eating".

In this caseA use separate phrases:

öaÀë À öaÀë


öaÀë À  öaÀë

Here the code chooses one of two complete sentences. Vhe translator can adjust the word
order of both sentences as neededA and these can be correctly translated into every
language.

OrA say you have a phrase like "You have {number} photos." where you use the word
"photo" when the number is 1A expand this out into separate complete sentences lineA "You
have one photo." and "You have {number} photos."A like this:

öaÀë º öaÀë



öaÀë  º 
öaÀë  öaÀë
öaÀë

 " #    

Different languages use different punctuation symbols; for exampleA Chinese has two
different comma characters that are used in different contexts. And Japanese uses its own
end-of-sentence characterA which is not an English-style period. In general if you allow
translators to translate complete sentences (including periods and commas) this won't be as
big an issue for you. So you    include punctuation within the fb:intl tags:

öaÀë ÀëöaÀë

öaÀë Àë öaÀë ëÀº

Including the colon as part of the translatable string means translators can substitute another
punctuation mark if applicableA or can insert whitespace between the text and the colon (as
is done in FrenchA for example.)

!     () *p!


' 

Generally speakingA XFBML will work anywhere in the <body> tag of your page.
HoweverA this doesn't account for the title of the window. You can set a window title using
the fb:window-title tagA placing it anywhere in your document where normal XFBML can
be parsed. It will take the rendered contents of the tag as your document's title. You could
now enable a translated window title with the following:

6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

öa À  Àë
öaÀë ÀëaºëöaÀë
öa À  Àë

#mm
(
m/ 
)m6
$m m

m m
m m
m
$m m m
( $m< m#( 0m$0 m $m
- m0 $m4(m9 m ##m

m++-m

Vhe Facebook Credits API enables a user to use credits as a method for purchasing digital
and virtual goods within a Facebook canvas application. Please note: the credits api is not
yet available for use by external websites but only on canvas iframe applications.

A user places an order by clicking a "Pay with Facebook" button. Vhe order gets submitted
to Facebook through JavaScript. Based on the contents of the 'order_info' parameter passed
to Facebook (see below)A Facebook gets the item details.

Facebook then displays those details to the user and waits for confirmation from the user. If
the user has sufficient credits or if the user has a stored credit card or other payment
credential on fileA the order gets fulfilled in a confirmation dialogA without navigating away
from the application. When the user does not have payment credentials on fileA the user
may get redirected to a new page for entering credentials or may stay within the dialogA
depending on the payment type.

When the user confirms their willingness to payA Facebook calls the application backend to
let the application owner's system settle the order. Once the application respondsA Facebook
completes the transaction appropriately and shows the result to the user. If the payment was
done in the dialogA the user can click continue to close the payment dialog and follow a
javascript instruction set by the application. If the payment was completed on the full pageA
the user can click continue to go to a destination url set by the application.

Vhe Credits API has two components: a front end credits API and a back end credits API.
Vhe following diagram roughly illustrates a simple order fulfillment process.

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

,m&m1m&&$'m

Vo enable your application for CreditsA please go to the Developer App and click "Edit
Settings" for the application you wish to enable. VhenA click on "Credits" on the left-hand
rail and follow the steps provided.

Once your application has been credits-enabledA you can begin setting up your test
environment by downloading the Facebook Credits Sample application from Github. Links
and more information on our Facebook Credits branding assets can be found here.

When using the new JS SDK be sure to turn on the 'signed_request' parameter for OAuth
2.0. Vhis can be found in the developer application under Advanced -> Migrations ->
OAuth 2.0 for Canvas (beta).

Remember to declare yourself as a test user. Orders from test users are not processed and
you will never be charged for a transaction.

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

CurrentlyA only IFrame applications on Facebook can use the following Credits API
methods. Facebook Connect sites cannot use the API.

#m'#m0m

Vo ensure your application is successful with Facebook Credits we have provided an


integration guide which will help you through the process of effectively implementing
credits in your application and clarify differences in integration types.

',m/m '$$!'*m

Every credits-enabled application has a callback URL that was defined in your application
settings. Facebook will call this page after a user has clicked on the Facebook Credits
button in your application. A significant amount of logic must be coded into your callback
to handle multiple communications between Facebook and your application.

When Facebook receives a request - such as a pay request - we will call your callback URL
and pass back the method name "payments_get_items" along with any information you
passed in the order_info field. All of the information passed between Facebook and your
callback URL will be JSON-encoded so you will have to decode before parsing.

Your callback should have a conditional that parses out to POSV variable called 'method'. If
it sees "payments_get_items"A it should then parse out the POSV variable called 'order_info'
and get the values you passed to Facebook originally.

Do a lookup in your database for that product_id and pull the item_titleA item_descriptionA
priceA product_urlA and image_url to populate those respective fields.

After this is passed backA Facebook will display the dialog popup with the accompanying
item information along with a "Confirm" or "Cancel" button.

If the buyer clicks "Confirm"A Facebook will call your same callback URL and return
"payments_status_update" with a status set to "placed"A an order numberA and the item
information.

Your callback program should once again parse out the POSV variable called 'method' and
branch to logic based on the "payments_status_update" method. In your logic for this
method callA you should also parse out "status" and "order_id".

6  mm mm
 mm  mm  mmmmmmm  m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

Check to make sure the "status" is "placed". If soA then set a next_state = "settled" which
you will pass back to Facebook. You MUSV also passback the method name and the
order_id.

Facebook will then execute the transaction to capture any funds from the buyer to fill their
Credits balanceA and then move the appropriate number of Credits from their balance to
your account.

When this has been completedA Facebook will once again callback to your callback URL
with the method "payments_status_update" and the "status" variable set to "settled". Vhis is
when you will definitively know that the transaction was completed successfully and you
can then perform any operations to give the item to the user.

Please refer to the Application Callback section for more details.

You can also view the Credits Sample App callback.php at Github.

'/%m%&m

Using the "pay" methodA you can open a modal dialog that will contain specific information
about the item. Vhe modal dialog will contain an item's titleA descriptionA its price in
CreditsA and an image of the item.

| You should only call "pay" using an internal key that is meaningful only to you and
points to a database record that contains item information.

Below is a code snippet that shows how to call the Facebook Credits API in JavaScript. Vo
test this quicklyA you should use the Credits Sample App on Github.

!      m m


 À ºë 
À ëëº ºë    

ö ë
ö  
öÀë   À„öÀë
ö  
ö 
ö ÀÀ a ö À
ö Àº  ºaëë ö Àº
öºöëÀºë    aëaaööº

ö Àº
ÀÀ ºº ö ººÀ    À 

aÀºë  

6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm


MÀÀ ë ºÀ   
   Àa


ëëÀ M„
  
  º 
  Àa  Àa 
º  ºÀ


À  ëë


 ëëaÀ 
Àa   À 

  
ë
  ë    
 aë



aÀ À  
ë ºÀ   

ö Àº
ö 
ö ë

Attributes:

r   - set to "pay"
r % - your internal key to associated product information
r  %
 - set to "item"

If you need to open the pay dialog in a new pageA please refer to the pay dialog
documentation.

0m m #m

Vhis feature is an API call that allows users to purchase credits without having to purchase
an item with that purchase.

!      m m


ö ë
ö  
öÀë   À„öÀë

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

ö  
ö 
ö ÀÀ a ö À
ö Àº  ºaëë ö Àº
öºöëÀ     aë   ööº

ö Àº
aÀ   
ÀÀëÀ À
ÀÀ ºº ö ººÀ    À 

ëëÀ M„
  
  º 
  ˼    


À  ëë

ö Àº
ö 
ö ë

Attributes:

r  : string - new JS SDK method to initiate credits purchase dialog


r %  - boolean

',m #m#,m22#m

Vhis feature allows your users to earn credits by completing advertiser offers. Download
VrialPay's Direct Access to Offers integration guide to learn more.

!      m m


ö ë
ö  
öÀë   À„öÀë
ö  
ö 
ö ÀÀ a ö À
ö Àº  ºaëë ö Àº
öºöëÀ   À   aë   Àööº

ö Àº
aÀ   À 
ÀÀëÀ À
ÀÀ ºº ö ººÀ    À 

ëëÀ M„

6  mm mm
 mm  mm  mmmmmmm 'm m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

  
  º 
  ˼    
 º  º   aa 


À  ëë

ö Àº
ö 
ö ë

|  If you have not yet transitioned to the new JS SDKA please refer to the Direct Access
to Offers guide for alternate integration instructions.

Attributes:

r  : string - new JS SDK method to initiate credits purchase dialog


r %  - boolean
r % %  - JSON object

',m #m#,m'$&m

Vhis feature allows your users to earn credits by completing an exclusive daily offer.
Download VrialPay's DealSpot integration guide to learn more.

!       
ºº
 À a ëº a ººÀ   aº À 

Parameters:

r %: Your Facebook application ID number


r : Vhe user's unique third-party identifier

 m| 

r DealSpot will automatically rotate (and hide when appropriate) deal icons based on
promotion availability
r You must allow the DealSpot SWF to communicate with its host page (eg set
trustContent flag to true) . Please refer to the DealSpot integration guide to learn
more.

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

0m '$'m

Vhis whitelisted feature is an API call that allows an application to determine a user's
balance. It is only available to developers who have designated Credits as their in-game
currency. You can apply here.

 m| mVhis feature is currently only available through the old PHP SDK. You also
must re-authenticate the user after whitelistingA before making the function call.

!      
     

aÀë  ººÀa     Àa

 À ö aÀë   Àë 
öM  | a  

 M  
 ë   À
  Àë
 


Attributes:

r %: user id - must already have added the application


r  % !: access_token - your application's access_token

0'%m'#m

Vhis whitelisted feature is an API call which will help developers understand and scope
their game economies. It is only available to developers who have designated Credits as
their in-game currency. You can apply here.

Each user is tagged with a gamer_status. Vhe set of users tagged with gamer_status > 0 will
monetize at a much higher rate than the general population and are eligible for up to 20%
discounts on Credits packages and so may affect the economy of your game. Vhe
gamer_status tag does not tell you anything specific about this particular userA except that
they are in a pool of users that monetize at a much higher rate than the general populationA
and that are likelyA but not certainlyA eligible for significant discounts on facebook credits.

You may not use gamer_status for any purpose other than internal and administrative
purposes related to the operation of your game. For exampleA you may not use this
information for marketing purposes. You may offer special discounts to these usersA but
you may not increase prices for these users.

6  mm mm
 mm  mm  mmmmmmm *m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 aºÀëÀ   a  À 


   

/m-)m#m

Vhis feature allows developers to make their promotions or deals more effectiveA let users
easily share these with their friendsA and let these friends buy promoted items directly from
their news feed without having to visit the game. It is only available to developers who
have designated Credits as their in-game currency. You can apply here.

Vo use Buy With FriendsA you need to first create a deal with certain parameters (durationA
% discountA etc.) and then assign one or more items to that deal. You must use the Deal
Graph API to determine if a deal is available to a user or not.

!      m m


ö Àº

ÀÀ 
ÀÀ ºº ººÀ
  À 

   Àa  Àa À


„  º  
Më     ë
  º  º 
 ëÀ  ëÀ



㼑 
 
  
  º 
  Àa  Àa 
Mº  a   À 
  ˼    
 º  º  º  º 


À  
À  ëë

ö Àº

Facebook will load the Buy with Friends purchase dialog. Please note that Facebook DÀ
 issue a request to your payments_get_items callback which differs from a normal
purchase flow. Facebook will use the information provided in your Graph API product and
deal objects to construct the BWF purchase dialog.

You can apply for in-game incentives here.

6  mm mm
 mm  mm  mmmmmmm +m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

$##m'/%#m

On MondayA May 2A 2011A we plan to launch and rollout Auto-Frictionless Payments for
items under 100 Facebook CreditsA over a period of approximately one week. After a user
purchases an itemA Facebook will automatically display a success dialog to the user. As a
resultA you will no longer need to call the Frictionless Payments API documented below. As
a best practiceA please check that items under 100 Facebook Credits are clearly labeled with
price and nearby buy button to maintain the user experience. | m
 À    
À 
 À À    À 
À 
     

D  À À   À    D


          
À          D
D
À
DÀ  À      À À    À  À !

Vhis feature allows developers to debit a player's balance without initiating the Facebook
Credits Payment Dialog. Vhis feature is  a replacement for the pay dialogA and will only
work for users who have a balance greater than or equal to the amount being requested. In
additionA your application is  to display the user's Credits balance. It is only
available to developers who have designated Credits as their in-game currency. You can
apply here.

You must explicitly handle the event in which a user has insufficient credits by popping the
pay dialog to purchase additional credits. Once this has been processedA the call can be
reissued.

Since you are passing an internal key to FacebookA Facebook will ask your application to
return the product price using "payments_get_items". Facebook will automatically return
"payments_status_update" to "settled" rather than "placed" since there is no confirmation
required from the user.

| : In order to execute this API callA the user must have interacted with your application
in the last 30 minutes. Vhis timeframe is required to tightly couple an item purchase and its
associated debit from the user's remaining balance.

6         + MÚ


ººÀ M„„ M |
ºº M„„ M | 
À M|| |

ºº ë
 º º a  ëÀÀ 
ººÀ  ëÀ  ºº   ºëÀ  Àë

ººaÀë ºº ë


6  mm mm
 mm  mm  mmmmmmm ,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 ë
 º º a ººÀ º  ººÀ  a 
À     Àë
   º  ºº

aÀë  ë

    

 :

r Îm& - Your App ID.


r  % ! - your application access token.
r  - User ID
r  - Your App ID
r %  - an internal key that points to a product record in your database.

Error Codes:

§ m6  m#  


API_EC_INSUFFICIENV_BALANCE Invoke Credits flow via JS
API_EC_PAYMENVS_UNKNOWN Indicate failure to user
API_EC_PAYMENVS_APP_INVALID Your application is not provisioned.
A database error occurred. Please try
API_EC_PAYMENVS_DAVABASE
again.
API_EC_PAYMENVS_PERMISSION_DENIED Invoke Credits flow via JS
Payments callback to the application
API_EC_PAYMENVS_APP_NO_RESPONSE
failed.
Payments callback to the application
API_EC_PAYMENVS_APP_ERROR_RESPONSE
received error response.
API_EC_PAYMENVS_INVALID_ORDER Vhe supplied order-id is invalid.
One of the Payments parameters is
API_EC_PAYMENVS_INVALID_PARAM
invalid.
API_EC_PAYMENVS_INVALID_OPERAVION Invalid operation.
API_EC_PAYMENVS_DISABLED Facebook Credits is disabled.

#m0'&)mm

You can interact with orders created by the application using the Facebook Credits Graph
API to view and update orders as needed. An Order ID is an object within the Graph API.

6  mm mm
 mm  mm  mmmmmmm .m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

| : You must use actual orders when calling the Graph API. Orders from test users will
not be processed.

0mm

Gets order details for the specified order_id

#

 º º a  À


M  |

 :

r Î m& - Vhe 64-bit ID of the order.


r  % ! - your application access token.

:

r a JSON object:
r 
r À  
r a 
r  
r À 
r  
r 
r  
r À 
r  
r  
r  
r ººëÀÀ
r  
r À 
r  
r   
r   À 
r º  À
r 


r % : Only returned if the order was refunded by Facebook. See Refund
Reason Codes below.

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&'mm

Updates the status of an existing order

#

„  º º a  


À
M  | M  M  a a À
   

 :

r Î m& - Vhe 64-bit ID of the order.


r  % ! - your application access token.
r  - A string representing the status we want the order to move to. Specify one
of "settled"A "refunded" or "canceled".
r  - a message to associate with the update of the order
r %%   - Boolean - true if refunding the source of payment (credit
cardA paypalA etc.) or false otherwise (refund credits)
r %  - reason for refund
r   - optional JSON-encoded dictionary {'comment' => }

:

r success or failure as boolean

0m#m

Returns all orders for the given application. Note: currently we will only return 100A000
orders for a single date/time range. If you need to pull more than 100A000 orders for a
single 24 hour periodA then please split the day into multiple dayparts and make multiple
queries.

#

 º º aºº


À
º M À|  Àë| M 
|
 º º a 
À
º M À|  Àë| M 
|

6  mm mm
 mm  mm  mmmmmmm m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 

r Îm& - Your application ID.


r Îm& - Vhe user must have added the application.
r  - Return orders with the specified status. Specify one of "reserved"A "settled"A
or "refunded".
r   - Unix time
r  - Unix time. You cannot exceed 24 hours between your start and end times. If
you need to pull a full weekA simply call your getOrders 7 timesA each time for a full
24 hour day
r  % ! - your application access token.

:

r A JSON object:
r 
r  
r 
r À  
r a 
r  
r À 
r  
r 
r  
r À 
r  
r  
r  
r ººëÀÀ
r  
r À 
r  
r   À 
r º  À
r  
r 
r 

r ºÀ
r º À 
r  
r 
r 


6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

&&$'m '$$!'*#m

Vhere are two callbacks Facebook makes on the application back end. Vhe application
needs to verify the fb_sig parameter to make sure that the request is coming from facebook.


%%  Along with the callA Facebook provides the order_id and order_infoA
and expects to get a JSON-encoded array of items associated with the order.
 :

1. order_id - Vhe 64-bit ID of the order.


2. order_info - Vhis is the order_info provided to Facebook by the application from the
front end.

m  A JSON-encoded array of {items}. Note: CurrentlyA only one item is
allowedA but it still gets returned as an array. #m m m m m 

1. item_id - Your specific identifierA not used by Facebook


2. title - Vhe name of the product. <= 50 characters.
3. description - A description of the product. <= 175 characters.
4. image_url - Vhe URL for the image to display to the user.
5. product_url - A permalink to the URL where you display the product to the user.
6. price - Vhe price must be greater than 0 credits.
7. data - OptionalA not used by FacebookA but stored and sent to application with
order_details.

Example callback response from developer:

Àë  
À    ÀºÀ  
 
   Àë
 º À
À ë º aÀÀa

º º   ë º aÀÀa


º

  ºÀ


%%: Facebook calls the application with the order_details and status
of the order. Vhe application responds with the status it wants to move the order to.
 :

1. % - Vhe 64-bit ID of the order.


2.  - Specify one of placedA reservedA settledA or canceled.
3. %  - All of the information that was originally passed with
payments_get_items

:

1.  - Vhe value of status depends upon the order's status before the update.

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

d m m : When the status is placedA the application can respond with canceled or
settled. (Note that the application needs to verify the fb_sig parameter to make sure that the
request is coming from facebook)

m You can respond with one of three statuses: settledA canceledA or refunded.

Status Notes
Vhis status occurs when the transaction has been "captured" - so moved from
settled
"authorized". Vhe funds will be taken from the buyer's account at this time
Vhis status can only be reached from the placed status. If this status is usedA thenA
if the user did not have enough credits to complete the purchase in the first placeA
the user's balance will be incremented by the item_price amount specified for the
canceled
purchase by initiating a purchase of credits from that user's chosen billing
instrument. HoweverA those credits will NOV be spent in the game -- they will just
remain in the user's balance
Vhis status can be initiated by the you (the developer) or by Facebook. Vhe entire
refunded amount is refunded to the buyerA and there is NO CHARGE/FEE to the developer
for the authorization

&,m

Daily digest and detailed reports as well as bi-monthly payout reports will be sent to each
company at the email provided during signup from the address   !m6m
' 
( ). Be sure this email is whitelisted from any spam filters to avoid not
receiving your reports. Each file contains no more than 100A000 lines. In case more than
100A000 lines of activities are transactedA multiple files will be provided.

 $ 

Vhe digest report contains a summary of each type of transaction which occurred in the live
applications associated with the parent company.

Vhe subject of the email is in the following format with capitalized variables being unique:

„M||M   ÀÀëÀº a M



 ºë
  º  ÀÀëÀº a 



Vhe report is a tab separated values text file (.tsv) contained in an attachment. Vhe name of
the attachment is in the following format with capitalized variables being unique:

À|M| MM „ 

6  mm mm
 mm  mm  mmmmmmm !'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm


 ºë
À
  



Vhe .tsv attachment is delimited tab by '\t' and newline delimited by '\n'. Vhe first line of the
report contains the fields for which each value in a line of the report represent. Vhe field
titles and an example row are included below.

ººÀ ºº º  ë ë  À



    ÀMºº






    ÀMºº





    ÀMºº





    ÀMºº



 

    ÀMºº 





    ÀMºº 






    ÀMºº 





 $ 

Vhe detail report contains all transactions which occurred in the live applications associated
with the parent company.

Vhe subject of the email is in the following format with capitalized variables being unique:

„M||M   ÀÀëÀëº a M



 ºë
  º  ÀÀëÀëº a 



Vhe report is a tab separated values text file (.tsv) contained in a zipped attachment (.zip).
Vhe name of the attachment is in the following format with capitalized variables being
unique:

Àë|M| MM „  ||  M  M M|  M


 ˼

 ºë
Àë
  

 ˼

After the attachment is unzippedA the .tsv file is delimited tab by '\t' and newline delimited
by '\n'. Vhe first line of the report contains the fields for which each value in a line of the
report represent. Vhe field titles and an example row are included below.

ººÀ  º À   À  Àë ë


  À

   
    


 
„



6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 m  It is possible to have multiple lines in your report for an order with the same
transaction ID and/or order ID. Vhis is due to several possible reasons.

One possibility is when a user has zero-value credits remaining in their walletA but not
enough to purchase an item. In this caseA both zero-value and full-value credits must be
used and the transaction could look as follows.

ººÀ  º À   À  Àë ë


  À

   
    


 
„



   
    


 
„



Another possible explanation for having multiple lines for an order is when the order is
refunded. Vhe following example shows what an order that was refunded one minute after
the initial transaction should look like.

ººÀ  º À   À  Àë ë


  À

   
    


 
„



   
    



„



  m 

Vhe payout summary will be sent on the 5th and 20th of every month. It will contain a
zipped attachment will all order details during that payout period in the same format as the
daily report. In addition to the detailed report you will also receive a summary of the
transactions for each of your apps during that payout period.

Vhe summary email for that given payout period is formatted as follows:

ººÀ ºº ºë  À



  Mºº 

  Mºº


      


*%
 V
m mV  
S (Spend) Credits spent within application
Credits refunded to user by FB or developersA netted from
R (Refund)
developer payout
Credits refunded to user by FB or developersA netted from
C (Chargeback)
developer payout
D (Chargeback) Chargeback after 90 daysA not counted against net payout

6  mm mm
 mm  mm  mmmmmmm !*m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

L (Deferred payment
Item purchasedA user defers payment until later date
initiated)
P (Deferred payment
Repayment completedA FB transfers credits to developer
repayment)
F (Deferred payment
Deferred payment refundedA user does not receive Credits
refund)
Repayment refunded by FB or developerA netted from
Q (Repayment refund)
developer payout

#&m#$m

Vhe dispute resolution system gives the user and the developer an easy way to interact
regarding a previous payment made using Facebook CreditsA and resolve disputes among
themselves. We trust the application to resolve disputes appropriately by either refunding
the user's payment amount or by making sure that the user is satisfiedA and then resolving
the dispute with appropriate explanation.

Ê Ú  

Vhere is a link at the bottom of the application canvas page for apps that are using our
payments: "Report". When the user clicks the link they are prompted with choicesA one of
which is "Dispute ..." which does the following:

1. Brings up order-selection dialog (shows purchases made in that app in the last 30
days) where the user chooses the order they want to dispute. Vhis brings up a form
to input a reason (required).
2. On completionA sends a mail to the developerA FacebookA and the user setting
expectation around the dispute being between user and application.

When the user disputes an orderA a 'payments_status_update' notification with 'disputed'


status is sent to the application's payments_callback_url. Vhis is consistent with other
status-update notifications sent to the application on order-state transitions. Application can
also query the disputed orders using the /payments API.

|  While resolving a dispute with a userA an email is sent to the developer and the user
is CCed on that email. Vhe developer can then interact with the user through this channel to
make sure they are satisfied.

6  mm mm
 mm  mm  mmmmmmm !+m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

$    
                   

1. By calling the /[order id] API to refund the orderA you must provide the appropriate
order_idA status=refundedA in addition to specifying the reason for your refund in the
'comment' param.
2. If the developer is satisfied that the user understands the charge after the interaction
with the userA they can resolve the dispute by calling the /[order id] API with the
order-idA status=settledA and specify the reason as the comment in the params.

|  specifying the reason is required in this case to make sure there is record for why
resolving the dispute without refunding is okay to do.

)',!'*#m

An application is liable for chargebacks that occur within 90 days of the credits spent on the
application. In the event of a chargebackA all monies are refunded including processing fee.

2m'#m #m40mm5m6m7m

If you make a GEV request to the /[order id] API and if the order in question has been
refunded by FacebookA then there will be an additional field returned called "refund_code"
with one of the following values:

Compromised Account
Stolen Financial Instrument
Not Fraud
User Confusion
Dev System Issue
FB System Issue

6 mmm m# 

º º a  M  |

§*  m


À     

6  mm mm
 mm  mm  mmmmmmm !,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

a 
Àë ë  
À 

 
 

Àë ë  
À 

 
 
 
 a   
 a    
ººëÀÀ
  À   
À 
   

 
  
  À



 
º  À

 



m #m

Vhe following section covers the respective errors with the Frontend API and Backend API.

  §  §  6 
§ %  § %  | 
1383001 Unknown Facebook system issue.
Developer called with the incorrect
1383002 InvalidParameters
parameters.
1383003 PaymentFailure Processor decline.
Developer attempted an operation
1383004 InvalidOperation
Facebook does not allow.
1383005 PermissionDenied Facebook system issue.
1383006 DatabaseError Facebook system issue.
App is not whitelisted. Or while in test
1383007 InvalidApp modeA Developer attempted to debit a user
that was not whitelisted.
App is not responding; perhaps a server
1383008 AppNoResponse
timeout issue.
App responded to Facebook with an error
1383009 AppErrorResponse
code.
1383010 UserCanceled User explicitly cancelled out of flow.
1383011 Disabled Facebook system issue.
1383013 OrderFailureAfterPurchaseCredit Facebook system issue.

6  mm mm
 mm  mm  mmmmmmm !.m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

1383014 DisputeFlow Facebook system issue.


1383015 AccountNotCharged Your application cancelled the order.
Reached maximum number of credits in
1383017 ExceedCreditBalanceLimit
your balance.
Occurs when a user has reached a
1383018 ExceedCreditDailyPurchaseLimit
predefined daily maximum
Occurs when the credit amount user
1383019 ExceedCreditDailySpendLimit spends in a single day exceeds a pre-
defined threshold.
1383040 UserVhrottled Application Vemporarily Unavailable
User's financial instrument could not be
1383041 BuyerPaymentFailure
charged.
1383042 LoggedOutUser Login Required
1383043 AppInfoFetchFailure Facebook system error.
Application needs to have a valid callback
1383044 InvalidAppInfo
url.
Vhe application didn't return a valid json
1383045 AppInvalidEncodedResponse
encoded response..
Vhe application return value was invalid
1383046 AppInvalidDecodedResponse
after json_decoding the return value.
Vhe application response contains a
1383047 AppInvalidMethodResponse 'method' parameter that didn't match the
request.
Vhe application response didn't contain the
1383048 AppMissingContentResponse
'content' field.
Vhe application returned an unknown
1383049 AppUnknownResponseError
response.
Failure to verify the user when sending
1383050 AppUserValidationFailedResponse
application callback.
Vhe application is sending invalid item
1383051 AppInvalidItemParam parameters (For exampleA price or quantity
of the items is invalid).
1383052 EmptyAppId Empty App ID.

p  §  §  6 

Vhe following errors can be returned in addition to the regular API exceptions:

§
§ m|  | 
m

6  mm mm
 mm  mm  mmmmmmm !m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

6 
Unknown
1150 API_EC_PAYMENVS_UNKNOWN
error
Application
is not
enabled for
1151 API_EC_PAYMENVS_APP_INVALID
using
Facebook
Credits.
A database
1152 API_EC_PAYMENVS_DAVABASE error
occurred.
Permission
denied to
1153 API_EC_PAYMENVS_PERMISSION_DENIED
check order
details.
Payments
callback to
1154 API_EC_PAYMENVS_APP_NO_RESPONSE the
application
failed.
Payments
callback to
the
1155 API_EC_PAYMENVS_APP_ERROR_RESPONSE application
received
error
response.
Vhe
supplied
1156 API_EC_PAYMENVS_INVALID_ORDER
order ID is
invalid.
One of the
Payments
1157 API_EC_PAYMENVS_INVALID_PARAM
parameters
is invalid.
Vhe
1158 API_EC_PAYMENVS_INVALID_OPERAVION operation is
invalid.
Failed in
1159 API_EC_PAYMENVS_PAYMENV_FAILED processing
the

6  mm mm
 mm  mm  mmmmmmm ! m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

payment.
Facebook
Credits
1160 API_EC_PAYMENVS_DISABLED
system is
disabled.
Insufficient
1161 API_EC_PAYMENVS_INSUFFICIENV_BALANCE
balance.
Exceed
credit
1162 API_EC_PAYMENVS_EXCEED_CREDIV_BALANCE_LIMIV
balance
limit.
Exceed
API_EC_PAYMENVS_EXCEED_CREDIV_DAILY_PURCHASE_LI daily credit
1163
MIV purchase
limit.
Exceed
1164 API_EC_PAYMENVS_EXCEED_CREDIV_DAILY_SPEND_LIMIV daily credit
spend limit.
Credits
purchased
from
funding
1166 API_EC_PAYMENVS_INVALID_FUNDING_AMOUNV source do
not match
the spend
order
amount.
Vhe
funding
source is a
API_EC_PAYMENVS_NON_REFUNDABLE_PAYMENV_MEVHO
1167 non-
D
refundable
payment
method.
Application
is
1168 API_EC_PAYMENVS_USER_VHROVVLED configured
to throttle
some users.
User is not
1169 API_EC_PAYMENVS_LOGIN_REQUIRED
logged in.
1170 API_EC_APP_INFO_FEVCH_FAILURE Error

6  mm mm
 mm  mm  mmmmmmm !!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

retrieving
application
information
.
Invalid
application
1171 API_EC_INVALID_APP_INFO
information
returned.
Application
has
1172 API_EC_PAYMENVS_APP_INSUFFICIENV_BALANCE insufficient
balance
(app2user).
m

#mm
(
m/ 
)m$m m
m9 m

m $m  0
m9 m 4m $m m/ 
)m# 0   9Fm
4( m0m(
m/ 
)m$-
0m1  0
m m

You can use the Ads API if you match one of these profiles:

r You manage your own ad spendA and have many accounts and/or many ads. You
can use the Ads API as a scalable alternative to the Facebook Advertising Manager
tool.
r You are an advertising tool vendor who sells advertising management solutions to
small- and medium-sized businessesA and you manage ads from multiple sources
(like Facebook and other online advertisers).
r You are an ad agency managing budgets and campaigns for multiple clients.

If you don't want to build your own ads management toolA you can work with a vendor who
has.

0,m'm

Vo get started with the Ads APIA complete the following steps.

6        M  

Vo get startedA you need to configure some basic settings of a Facebook application.

1. Log in to Facebook using the account you'll use to create the application. Vhis must
be a real Facebook accountA not an advertising-only "gray account."
2. Go to the Facebook Developer application and create a new application.

6  mm mm
 mm  mm  mmmmmmm !&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

3. Note the #   m  Facebook provides; you will need it to agree to the Ads
API terms. You'll use the # m+
to call the Ads API and to grant the application
permission for your user account (see below).

M   M MÚ 

Before you can start using the Ads APIA you need to get on the Ads API whitelist. You
have to apply for the whitelist only once per application. After you have been accepted in
the Ads API Beta program and your application is whitelisted please do the following:

1. Log in to Facebook with the same account that you used to create the application
above.
2. Go to this URL:
http://www.facebook.com/ads/manage/api_terms.php?app_id=YOUR_APPLICAVI
ON_IDA replacing "YOUR_APPLICAVION_ID" with the application ID you
received when you configured your application (see above).
3. Select the check box to agree to the terms provided.

     

For an app to do ad managementA a user (including an app developer) must give the app
permission. Vhis permission is called the  extended permission.

An Ads API app is like other Facebook appsA although the Ads API is built on the RESV
API. VhereforeA please review Facebook for websites and the entire authentication guide to
become familiar with the Facebook platform. Please also note the following values from
your app summaryA which are referred to in the examples below:

r App ID: referred to below as YOUR_APP_ID


r App secret (keep this value secret): referred to below as YOUR_APP_SECREV
r Site URL (a redirect URL): referred to below as YOUR_URL

        

Vo enable your app to manage ads for a userA you use the scope parameter to prompt the
user for the extended permission of  . Also prompt the user for the
extended permission of aaëÀ if your app makes API calls while the user isn¶t
logged into your app. For information about token expirationA see the authentication guide.

Vhe following example uses the scope parameter to prompt the user for  
and aaëÀ. Access is granted when the user clicks the Allow button:

º a Àë ëÀÀ  M„„  À  À


  º  aaëÀ

6  mm mm
 mm  mm  mmmmmmm &'m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

'     

If the user clicks the Allow button when you prompt for the extended permissionsA the user
is redirected to a URL that contains the value of the redirect_uri parameter and an
authorization code:

º   M  M | 

Build a URL that includes the endpoint for getting a tokenA your app IDA your site URLA
your app secretA and the authorization code you just received. Vhe URL will be similar to
the following:

º º a  ëÀÀ  M„„  À


 À  ëÀ  M„„   M  M | 

Vhe response should contain the access token for the user. For additional informationA see
the authentication guide.

m      

Vhe token should be stored in your database for subsequent API calls.

You should regularly check for validity of the tokenA and if necessary prompt the user for
permission. Even a token that works for offline access can become invalid in the following
cases:

r Vhe user¶s password changes


r Vhe user revokes permissions

When a user starts your web applicationA check for the validity of the token. If necessaryA
prompt the user for permissions. If this is not possible for your application (e.g.A API calls
are not based on a user-interface flowA or there¶s as script failure)A a different way to prompt
the user may be necessary. For exampleA your app could email instructions to the user.

m  

Vhe Ads API sample code is built on top of Facebook's PHP-SDK. Vhe code is available
here. You can view the running sample here.

m     6 

You must sign every call you make to the Ads API.

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

   M MÚ

Once Facebook has whitelisted your applicationA you can test the API calls using the API
test console for each method. Be sure to select the correct application from the drop down.

Vhe API is liveA so Facebook doesn't provide a sandbox where you can test your code.

#mm #m'#m

Keep these best practices in mind as you work with the Ads API.

6  M,  " § §  ' 

You shouldn't change the targetingA titleA or body for an ad for purposes of using the ad in
slightly modified form elsewhere; you should create a new ad.

m   Ê Ú  

Facebook recommends storing user IDsA session keysA and the Ads Account ID in a manner
that makes it easy to programmatically access them and keep them together. Vhis is
important because any calls made with an account ID belonging to one user and the session
key for another user will fail with a permissions error.

&    6   m  p

It's a good idea to run frequent reports on your campaignsA as suggested bids change
dynamically in response to bidding by competitors using similar targeting. Bid suggestions
get updated within a few hoursA depending upon the bidding of competitors.

#mm )#m'm#m

Vhe Ads API contains methods and structures that enable you to create and manage ad
campaigns.

M  ! 

r ads.getAccounts
r ads.addAccountUsers
r ads.removeAccountUsers

6 ! 

r ads.createCampaigns

6  mm mm
 mm  mm  mmmmmmm &*m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

r ads.getCampaigns
r ads.getCampaignStats
r ads.updateCampaigns

M +  ! 

r ads.createCreatives
r ads.createAdGroups
r ads.estimateVargetingStats
r ads.getAdGroupCreatives
r ads.getAdGroupStats
r ads.getAdGroups
r ads.getAdGroupVargeting
r ads.getConnectionObjectIds
r ads.updateAdGroups

  ! 

r ads.getAutoCompleteData
r ads.getKeywordAutocomplete
r ads.getKeywordSuggestions
r ads.getValidKeywords

$   ! 

r ads.getAdreportSchedules
r ads.createAdreportSchedules
r ads.updateAdreportSchedules
r ads.getAdreportJobs

m  

r ads.adgroup specs
r ads.campaign specs
r ads.creative specs
r ads.targeting specs
r ads.report specs
r ads.schedule specs

6  mm mm
 mm  mm  mmmmmmm &+m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

)'mm

You can integrate Facebook Chat into your Web-basedA desktopA or mobile instant
messaging products. Your instant messaging client connects to Facebook Chat via the
Jabber/XMPP service. Vhis document describes the features and limitations of Facebook
Chat's XMPP protocol for the developer who intends to implement a Facebook Chat client.

Before reading this documentA you should be familiar with the terms and concepts involved
in XMPPchat clients and servers. If you anticipate that your Jabber client will host as many
as 100A000 sessionsA go to the Developer Help Contact Form and select † to let us
know.

'#m'm %'#m

Facebook Chat currently supports the following features:

r Facebook Platform authentication using the X-FACEBOOK-PLAVFORM SASL


authentication mechanism
r Username/password authentication using the DIGESV-MD5 authentication
mechanism
r Sending and receiving plain-text messages (not HVML messages)
r Sending and receiving typing notifications using the XEP-0085 protocol extension
(  the XEP-0022 extension)
r Setting the user idle using a show element in presence stanzas (there will be a delay
before the user appears idle)
r Receiving vCards using the XEP-0054 extension
r Retrieving friends' photos (either with vCard or XMPP presence)

6  mm mm
 mm  mm  mmmmmmm &,m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

 

Facebook Chat should be compatible with every XMPP clientA but is not a full XMPP
server. It should be thought of as a proxy into the world of Facebook Chat on
www.facebook.com. As a resultA it has several behaviors that differ slightly from what you
would expect from a traditional XMPP service:

r Your client cannot send or receive HVML messages


r Because roster items and presence subscriptions are based on the user's Facebook
friendsA they cannot be created or deleted using the standard XMPP mechanisms.
r Facebook Chat is terse when sending updates for new friendsA because the
negotiation happens outside of XMPP. Future versions of Facebook Chat may be
more conformant.
r Vhe user's own Jabber ID (JID) is different from the Jabber ID that their contacts
will see because the translation is done internally.
r Arbitrary IQ stanzas cannot be passed between clients.
r Presence probes do not currently work.
r Non-SASL authentication with the  À
 namespace as described in
XEP-0078 is not currently supported.
r Vhe XML parser does not yet fully handle XML namespaces. Please stick to the
same style as the examples in XMPP RFCs 3920 and 3921 when using XML
namespaces.

2,,m )'m)'m

You can authenticate your chat client users with one of two authentication mechanisms: X-
FACEBOOK-PLAVFORM (Facebook Platform) and DIGESV-MD5 (username/password).
Facebook recommends you use the X-FACEBOOK-PLAVFORM mechanism to connect to
Facebook Chat whenever possibleA because it provides a better user experience using
simple Facebook Platform authentication. Use the sample Python script below to get started
with X-FACEBOOK-PLAVFORM.

M           

We support a custom SASL mechanism called X-FACEBOOK-PLAVFORM that allows


clients to connect to chat using Facebook authentication. Vhis mechanism is preferred for
any application that is oriented toward social media in general or Facebook in particularA
especially applications that are already integrated with Facebook Platform.

In order to connect using this mechanismA the user must first log in to your application and
grant the ººëÀextended permission.

Your application may now log in to Facebook Chat via Jabber using the X-FACEBOOK-
PLAVFORM mechanism. Vhe user's Jabber ID will be assigned during the resource binding

6  mm mm
 mm  mm  mmmmmmm &.m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

step of XMPP. Please keep in mind that while all of the messages defined by the X-
FACEBOOK-PLAVFORM mechanism are UVF-8 stringsA XMPP specifies that they
should be Base64-encoded before being sent over the wire.

Vhe mechanism starts with a server challengeA in the form of a common HVVP query string:
an ampersand-separated sequence of equals-sign-delimited key/value pairs. Vhe keys and
values are UVF-8-encoded and URL-encoded. Vhe query string contains two items:  
and .

Vhe client's reply should be a similarly-encoded query string prepared as if it were going to
call a method against the Facebook API. Vhe call should contain the following parameters:

r  À  : Should be the same as the method specified by the server.


r  ÀºÀ: Vhe application key associated with the calling application.
r  ÀÀ: Vhe session key of the logged in user.
r aëëëÀ : Vhe request's sequence number.
r  ÀÀ: An MD5 hash of the current request and your secret key.
r  À: Vhis must be set to 1.0 to use this version of the API.
r  Àa : Optional - Ignored.
r  À: Optional - Client-selected nonce. Ignored.
r  À: Should be the same as the nonce specified by the server.

Vhe server will then respond with a success or failure message.

M      Ê - 

Vhe DIGESV-MD5 SASL mechanism is available to support traditional XMPP or multi-


protocol IM clients that are not customized for (or even aware of) Facebook. Vhis
mechanism requires prompting the user for his or her password; thereforeA it should only be
used when necessary. In particularA it ,Vm|V be used for any client that:

r Proxies the XMPP connection (the connection must be directly from the user's
computer to Facebook).
r Reports messages or any other information about user activity to a third party
(including the client developer).
r Integrates with FacebookA or has a Facebook Application ID.

If your application does any of the aboveA you must use Facebook Platform authentication
instead.

Vhe user's Jabber ID is simply his or her Facebook user name with  a
appended. A user must have a Facebook username to use DIGESV-MD5. After the user

6  mm mm
 mm  mm  mmmmmmm &m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

gets his or her usernameA he or she must log out of and into Facebook once for us to store
the special hash of the password.

Clients should retrieve their user's vCard from the server according to XEP-0054 in order to
be able to display a more natural name to the user. For example:

öÀ
À ºö   ë ºöÀ


#m'#m

In order to provide the best user experienceA we recommend your chat integration do the
following:

r Your Facebook Chat integration should only be used for sessions that are expected
to be long-lived. Clients should not rapidly churn on and off.
r vCards retrieved through Facebook Chat will contain profile pictures if available.
Clients should cache these pictures using the content hashA not the user IDA as the
key. vCards should only be fetched if the client does not already have that user's
picture cached.
r Clients should not automatically reconnect if they receive a stream-error of type
aëÀ.
r Clients should be able to handle a single contact with multiple  º elements.
r Incoming messages from the JIDs  a or a should be
displayed as administrative messages.

$'2%m)'m'%&$m m

Vhis sample code (written in Python) demonstrates integrating Facebook Chat using the X-
FACEBOOK-PLAVFORM authentication mechanism. You'll need pyxmpp and
pyfacebook before you can run this sample code. You can get pyxmpp from several
repositories on the Web. You can get pyfacebook from GitHub; it was developed externally
and is not maintained by Facebook.

Ü Àº 



Ü ÀÀ  À Àºa  
ÜÀ M  „M  M À
Ü 
À ºa º ººÀëë 

Ü ÀëÀë  a  ºººëÀÀ aÀ  À 
Ü ëº ºº   ë ë À À

ÜÀ   ë  ºº ë 
ÜaëÀaÀ ë   

˼ 
˼ 

6  mm mm
 mm  mm  mmmmmmm & m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm



aaëÀ 
˼ a
Üºë  À  ºº  Àë
ºÀ M„ 
  M„ 

ëÀa ºÀ  

 
Ü       Àëa  ÀaÀë
Üa  À ÀaÀë  ë  ë ÀaÀë  
a
 ëº À  
ëÀÀ ëÀÀ ëÀ ëÀ Àº 
a ëÀÀ  ë

 ëë 
 º   
ëÀ   
ëÀëÀ 
º ÀÀ ººÀ     º  
  ˼ 
ëÀ À 
 ëº À  
º À  ë ëÀÀ 
º À  ë ëÀÀ
º À  ë ëÀ 
 ëë 

ÀaÀ ëÀ  Mºº„ ÀÀ  ººëÀ
˼     
   º ëÀ ë   À  
 º  ººëÀ 
ºÀëÀºÀ 

º À     º ÀÀ ººÀ     
º  
  ˼ 

 ëÀ


a º ººë Àº  ëÀM À 
a º ººë Àº º Àë  

ë„ëa  ëÀM À ëÀM À 
aÀÀ ëa º   aëÀ|
 ëÀM À ÀÀ ëa º   
ÀaaëÀÀ|
ëëëëaëÀ
aëÀëëaëÀ
ëaaëÀaëÀ


6  mm mm
 mm  mm  mmmmmmm &!m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

a  ëa À    À   À 


 º 

a ëë ëa  ëë
Àº  À º ºëÀ a º À
 ëëºëÀ  º

º Àº 

º ëaaëÀ À  º 
º 
ëaaëÀÀë º  Àº   
º 
Àº  ëëÀ
 º  ëëÀ ë  º 

aaÀÀ ëa 
  |


a º ººëëÀº  „   
a º ººëÀÀº  ëÀ

ë  ëÀ ëÀ
aÀÀ ëa À    
 ëÀÀÀ ëa   
ëaÀ À 
ëa
ëaë

aÀ  ëa
ëa    ë   ëa
ëa   „  

aÀ ë ëa
º À ë
ëÀÀ ë ëa
ÀaëaÀëÀ   ëa
ëa 
  ëaÀ ëa À  À
ëa     À   
 À  ëa

a ëa  
º À a        



ÀaÀ
Ü ëÀ  ëÀ
ÜÀº ëÀ
Üë ëÀ 
Üë   ë ëÀ  ë 
Üë ë ëÀ 

Ü  À À º
Àº º ººë

6  mm mm
 mm  mm  mmmmmmm &&m m m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

º ººëëë À ÀM  „M  



 „ëa  ëÀM À |

º À„ º ÀëÀ
ëëaëÀaëÀ 

 
À  ëëaëÀÀ 
À  

À   


 À À  a ëÀ
 º    
 À À  


º À À 
 ººëÀ  ëÀ 
À À 
 
À   À  
º  À   
   ëM  „M  

Ü  ëë 


º À À
 ººëÀ 

º À„ À
 
 ººëÀëº 
aÀëë
ººëÀ À 
m

6  mm mm
 mm  mm  mmmmmmm ''mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

$8'mm&+''mm'!*m
m

Fecha de la última revisión: 22 de diciembre de 2010.

Este documento consta de nueve seccionesA y puedes ir directamente a cada una de ellas
seleccionando los enlaces siguientes:
m
-m   .m
/m    .mm  m
0m6 m   .mm   !m
1m    .mm m m  m
2m6. m 3 mm   .m
4m6. m  m m   .m
5m6. mm  m m  m   .m
6m6. m  m m   .m
7mm   m

m
m m

 Si tienes alguna pregunta o duda sobre nuestra política de privacidadA ponte en
contacto con nuestro equipo de privacidad a través de esta página de ayuda. Vambién
puedes contactar con nosotros por correo ordinario en 1601 S. California AvenueA Palo
AltoA CA 94304.

  mV,V Facebook ha obtenido la certificación VRUSVe Privacy Seal. Esto


significa que VRUSVe ha verificado que esta política de privacidad y nuestras prácticas
cumplen los requisitos del programa VRUSVe. Si tienes alguna duda o queja sobre nuestra
política de privacidad o nuestras prácticasA contáctanos por correo ordinario en la siguiente
dirección: 1601 S. California AvenueA Palo AltoA CA 94304 o a través de esta página de
ayuda. Si no te satisface nuestra respuestaA puedes ponerte en contacto con VRUSVe aquí.
Esta política de privacidad se aplica al sitio web www.facebook.com. El programa
VRUSVe sólo incluye la información recopilada a través de este sitio webA y no comprende
otros datosA como información que pudiera recopilarse a través de software descargado de
Facebook.

6  mm mm
 mm  mm  mmmmmmm 'mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

md  Facebook también cumple el marco Safe Harbor de la Unión Europea


desarrollado por el Departamento de Comercio de Estados Unidos en cuanto a recopilaciónA
uso y retención de datos pertenecientes a la Unión Europea. Como parte de nuestra
participación en Safe HarborA nos comprometemos a resolver todos los posibles conflictos
que puedan surgir en relación con nuestras políticas y prácticas a través de VRUSVe.
AsimismoA responderemos a las solicitudes de acceso dentro de un plazo de tiempo
razonable. Para ver nuestra certificaciónA entra en el sitio web del programa Safe Harbor
del Departamento de Comercio de los Estados Unidos.

8   La presente política de privacidad incluye Facebook al completo. No obstanteA no


es aplicable a entidades que no sean propiedad o no se encuentren bajo el control de
FacebookA incluidos los sitios web y aplicaciones que utilicen la plataforma. Si utilizas o
accedes a FacebookA estarás aceptando las prácticas de privacidad aquí definidas.

| mm m   .mm9 m  mm-0m9  Si tienes menos de 13 añosA no


intentes registrarte en Facebook ni nos facilites ningún dato personal. Si descubrimos que
hemos recibido información de un niño menor de 13 añosA borraremos esa información lo
más rápido posible. Si crees que podría obrar en nuestro poder información procedente de
un niño menor de 13 añosA ponte en contacto con nosotros a través de esta página de ayuda.

  .mm m Recomendamos encarecidamente que los menores de edadA a
partir de los 13 añosA pidan permiso a sus padres antes de enviar información sobre sí
mismos a través de internetA y animamos a los padres a que enseñen a sus hijos prácticas
seguras para el uso de internet. Encontrarás material de ayuda acerca de cómo los padres
pueden hablar con sus hijos sobre un uso seguro de internet en esta página de ayuda.

6  mm mm
 mm  mm  mmmmmmm '*mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

*m<  8mD
m
  m

   .mm m:m
m
   .m m Cuando te registras en FacebookA nos facilitas tu nombreA correo
electrónicoA sexo y fecha de nacimiento. Durante el proceso de registroA te ofrecemos la
posibilidad de conectarte a tus amigosA centros educativos y empleados. Vambién podrás
añadir una foto. En algunos casos podríamos pedirte información adicional por motivos de
seguridad o para ofrecerte servicios específicos. Una vez registrado puedes proporcionar
otra información sobre ti relacionadaA por ejemploA con tu ciudad de residenciaA ciudad de
origenA familiaA relacionesA redesA actividadesA intereses y lugares. Vambién puedes indicar
tu ideología política o tus creencias religiosas.

6   Una de las finalidades principales del uso de Facebook es compartir contenido
con los demásA por ejemploA actualizar tu estadoA cargar o hacer una fotoA cargar o grabar un
vídeoA compartir un enlaceA crear un evento o un grupoA hacer un comentarioA escribir algo
en el muro de alguienA escribir una nota o enviar un mensaje. Si no deseas que guardemos
los metadatos asociados al contenido que compartes en Facebook (como las fotografías)
elimina los metadatos antes de cargar el contenido.

   .m m   Podemos guardar los datos de las transacciones o pagos
que realices a través de Facebook. Si no deseas que almacenemos el número de cuenta de
origen de tu pagoA puedes eliminarlo a través de la página de pagos.

   .m m   Ve ofrecemos herramientas de importación de contactos para


ayudarte a cargar las direcciones de tus amigos para que puedas encontrarlos en Facebook e
invitar a unirse a aquellos contactos que todavía no usen Facebook. Si no deseas que
almacenemos esta informaciónA entra en esta página de ayuda. Si nos das tu contraseña para
obtener estos contactosA no la guardaremos una vez cargada la información de los
contactos.

   .mm   m  m ;m m   !

   .m m m mm m m Realizamos un seguimiento de las


acciones que llevas a cabo en FacebookA como añadir conexiones (incluido unirte a un
grupo o añadir un amigo)A crear un álbum de fotosA enviar un regaloA dar un toque a otro
usuarioA indicar que "te gusta" una publicaciónA asistir a un evento o conectarte a una
aplicación. En algunos casosA también estás llevando a cabo una acción cuando nos
proporcionas información o contenido. Por ejemploA si compartes un vídeoA además de
almacenar el contenido real que has actualizadoA podemos registrar el hecho de que lo
hayas compartido.

#  mm m   .m m  m


m m  Cuando accedes a Facebook
desde un ordenadorA teléfono móvil u otro dispositivoA podemos obtener información de

6  mm mm
 mm  mm  mmmmmmm '+mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

dicho dispositivo sobre tu tipo de navegadorA ubicación y dirección IPA así como las páginas
que visitas.

   .m m ! Utilizamos "cookies" (datos que almacenamos en tu


ordenadorA teléfono móvil u otro dispositivo durante un período de tiempo prolongado) para
que Facebook sea más fácil de usarA para que nuestra publicidad sea mejor y para proteger
tanto a ti como a Facebook. Por ejemploA las empleamos para guardar tu nombre de usuario
(pero nunca tu contraseña) de modo que te resulte más sencillo iniciar sesión cada vez que
quieras entrar en Facebook. Vambién utilizamos las cookies para confirmar que estás
conectado a FacebookA y para saber cuándo estás interactuando con aplicaciones y sitios
web de la plataforma FacebookA nuestros widgetsA botones de compartir y nuestros
anuncios. Puedes eliminar o bloquear las cookies mediante la configuración de tu
navegadorA pero en algunos casos puede influir en tu capacidad de uso de Facebook.

   .mm  mm  

   mm   ! No poseemos ni operamos las aplicaciones o sitios web que


utilizas a través de la plataforma de Facebook (como juegos y otros programas). Cuando te
conectes a un sitio web o una aplicación de la plataformaA nos suministrarán informaciónA
incluida la información acerca de las acciones que realizas. En algunos casosA es posible
que recibamos una cantidad limitada de información antes de que te conectes a la
aplicación o sitio web para poder personalizar el proceso de conexión.

   .m mm  m m Podemos establecer programas con socios


publicitarios y otros sitios web en los que éstos comparten información con nosotros:
m

r $
 m  m m m  
mD
m m$D
m8 m
 m  m( m

# $$ m m m  mD
m
m   m?9Fm m<
m #  - Fm8 m( m
 $ m
mm#H0 m  m  mD
m m( C m- m m  Bm" m # 8m
$
m$  Fm$
  $ m E

mI
0
 m$
m -
8Im m 9$ m m
$m m

<
-$ $m$
m
 m# $ $m9m m
  m m $ $m$
m m  mD
m-
m
r $
 m
 m<  8m 
mm( m- m m Fm mm( m
  $ m m
$

 $ m  m$
m  m Fm#  m
$m m
<
-$ $m$
m$( m  m

Si en cualquiera de estos casos recibimos datos que todavía no tenemosA les otorgaremos el
carácter de "anónimos" en un plazo de 180 díasA lo cual significa que no asociaremos la
información con ningún usuario en particular. Si establecemos dichos programasA sólo
haremos uso de la información según se explica en la sección "Cómo utilizamos tu
información" expuesta a continuación.

   .m mm  m  Podemos recopilar información acerca de ti a

6  mm mm
 mm  mm  mmmmmmm ',mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

partir de otros usuarios de Facebook (como cuando un amigo te etiqueta en una fotoA un
vídeo o un lugarA proporciona detalles de vuestra amistad o indica su relación contigo).

+m6 # m<  8m


m/ 
)m

En esta sección se explica cómo funciona la configuración de la privacidad A y cómo se


comparte tu información en Facebook. Antes de compartir información en Facebook debes
tener en cuenta tu configuración de la privacidad.

| m
m  m m  Facebook ha sido diseñado para que te resulte sencillo encontrar
y conectarte a otros. Por este motivoA tu nombre y la foto de tu perfil carecen de
configuración de privacidad. Si no quieres compartir la foto de tu perfilA debes eliminarla (o
no añadir ninguna). Vambién puedes controlar quién puede encontrarte al buscar en
Facebook o en motores de búsqueda públicos utilizando la configuración de la privacidad
de las aplicaciones y los sitios web.

   .mm    La configuración de tu información de contacto (disponible en


la configuración de la privacidad) controla quién puede ponerse en contacto contigo en
Facebook y quién puede ver tu información de contacto (por ejemploA tu dirección de
correo electrónico y número de teléfono). Recuerda que esta información no es obligatoria
(excepto la dirección de correo electrónico) y que no tienes por qué compartir tu dirección
de correo electrónico con nadie.

   .m  La configuración de tu información personal controla quién puede


ver tu información personal (por ejemploA tus tendencias políticas y creencias religiosas) si
decides añadirla. Recomendamos compartir esta información utilizando la opción "amigos
de amigos".

m     Puedes seleccionar una configuración de privacidad para cada


publicación que realices usando el editor de nuestro sitio. Vanto si vas a cargar una foto
como a publicar una actualización de estadoA puedes controlar exactamente quién puede
verla en el momento de crearla. Cada vez que compartas algoA busca el icono del candado.
Si haces clic en el candado se mostrará un menú que te permite elegir quién podrá ver tu
publicación. Si decides no seleccionar tu configuración en el momento de publicar el
contenidoA dicho contenido se compartirá en consonancia con la configuración de "Mis
publicaciones"

(disponible en la configuración de la privacidad).

* m
m mm    Además del nombre y la dirección de correo electrónicoA
requerimos que nos facilites tu sexo y fecha de nacimiento durante el proceso de registro.
Ve pedimos la fecha de nacimiento para comprobar que eres mayor de 13 años yA asíA poder

6  mm mm
 mm  mm  mmmmmmm '.mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

limitar mejor el acceso a contenidos y anuncios que no sean adecuados para ciertas edades.
Puesto que tu fecha de nacimiento y sexo son obligatoriosA no puedes eliminarlos. Sin
embargoA puedes editar tu perfil para ocultar todo (o parte) de dichos campos para que no
los vean otros usuarios.

  Otras indicaciones que debes recordar:

r 
m$
m 
$ mD
m # 
m9m$
m m  
mD
m
- m m m
m  Hm
m m
#H0 m$
m m$
mm 0 m9m
m  m#H0 mD
m-
m
r m  m  m
m
D
 m
m m<  Fm-C$
m m 0 Fm#
$
m
 m m
D
 mm
  Jm#
$
m  mDJm#
$
m-
mD
m( m$ m
D
 $ m
mm#
< m$
$
m m
 <0 8m$
m m#- $ $m
r   m m(
m
 $ m m<  8m$
mm#
< m m m(
m  $ mm
 Fm
m
# 
mD
m 0 m # m$
m$( m<  8m#
 
 m-
m
m 0Em  m 0 mm
( m$ m # $ m m  Fm( m$ m$ $ m$
m 0Em  m $ m
0Emm
 <0 8m$
m m#- $ $m m( m$ m # $ m m  
 $ m# m  m  m
r 

m

$
mD
m m<  8m#
$
m
m # $ m mm-
m m # $ m# m  m
  m
r  0 m# m$
m   
mD
m
-C m m  m  m m#
$
m
 
Fm  m
# m

# m m
 
m
r 6 $ m#  m<  8m
m
m#
< m$
m  m  m m
 mm 
  m
m m
#  8m$
m  m  Fm$( m<  8mD
$ m
 m m m <0 8m$
m m
#- $ $m$
m  m  m
r m  m m<

m
%
 m#  m#  m<  8m
m/ 
)m?  m m
#  8m8- m mm m4
m$
m6 
Bm$

m # m m <0 8m$
m
#- $ $m$
m$( m#  8Fm#
 mD
m m


m m<

m
%
 m

   .mm<V  = La información configurada como ³todos´ está disponible


públicamenteA como tu nombreA foto de perfil y conexiones. Dicha información permanece
accesible y visible para todo aquel que entre en internet (incluidas las personas no
registradas en Facebook)A queda sujeta a indexación por parte de motores de búsqueda de
terceros y puede ser importadaA exportadaA distribuida y redistribuida por nosotros y otros
sin limitaciones de privacidad. Dicha información puede asociarse contigoA incluido tu
nombre y fotografía de perfilA incluso fuera de FacebookA por ejemploA en motores de
búsqueda públicos y cuando visites otros sitios de Internet. La configuración de privacidad
predeterminada para ciertos tipos de información que publicas en Facebook está establecida
en ³todos´. Puedes revisar y modificar la configuración predeterminada en tu configuración
de la privacidad. Si eliminas el contenido compartido con "todos" previamente publicado
en FacebookA lo borraremos de tu perfil de FacebookA pero no podemos controlar su uso
fuera de Facebook.

  Nos reservamos el derecho de aplicar métodos de protección especial para

6  mm mm
 mm  mm  mmmmmmm 'mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

menores (como proporcionarles un contenido adecuado a su edad) y aplicar restricciones a


la capacidad que tienen los adultos para compartir y conectarse a menoresA reconociendo
que esto puede suponer para los menores una experiencia más limitada en Facebook.

,m<  8mD
m # 
m m

 m

   mm   ! Como ya hemos mencionadoA no operamos los sitios web y


aplicaciones que utilizan la plataforma de Facebook ni somos sus propietarios. Esto
significa que al utilizar estas aplicaciones y sitios webA tu información de Facebook no está
sólo disponible para Facebook. Antes de permitir el acceso a cualquier información sobre
tiA les requerimos que acepten una serie de condiciones que limitan su uso de tu
información (puedes consultar estas condiciones en la sección 9 de nuestra Declaración de
derechos y responsabilidades) y ponemos en práctica medidas técnicas para garantizar que
sólo obtienen información autorizada. Para obtener más información sobre la plataformaA
visita la página Acerca de la plataforma.

6 *.mmm   .m m m Cuando te conectas a una aplicación o sitio webA
éstos tendrán acceso a Información general sobre ti. El término Información general incluye
tu nombre y los nombres de tus amigosA fotografías de perfilA sexoA identificador de usuarioA
conexiones y cualquier contenido compartido usando la configuración de privacidad
³Vodos´. Para ayudar a estos sitios web y aplicaciones a poner en práctica medidas de
seguridad y controlar la distribución de contenido apropiado a usuarios de diferentes
edadesA podemos poner a su disposición otra informaciónA como datos técnicosA la
localización de tu equipo informático o dispositivo de accesoA así como tu edad. AsimismoA
las aplicaciones o sitios web que aceptan créditos pueden acceder a tu saldo de créditos. Si
la aplicación o el sitio web desea acceder a otros datosA tendrá que pedirte permiso.

Ve proporcionamos herramientas para controlar cómo compartes tu información con


aplicaciones y sitios web que utilizan la plataforma. Por ejemploA puedes bloquear
completamente el acceso a tus datos de todos los sitios web y aplicacionesA o bien bloquear
aplicaciones específicas en la configuración de la privacidad de las aplicaciones y los sitios
webA o en la página "Acerca de" de la aplicación. Vambién puedes utilizar tu configuración
de la privacidadpara limitar qué parte de tu información está disponible para ³todos´.

Aconsejamos que leas siempre las políticas de los sitios web y las aplicaciones de terceros
para cerciorarte de que estás de acuerdo con el modo en el que usan la información que
compartes con ellos. Facebook no puede garantizar que estos sitios web o aplicaciones
cumplirán nuestras normas. Si encuentras alguna aplicación o sitio web que infringe
nuestras normasA infórmanos de este incumplimiento en esta página de ayuday tomaremos
las medidas oportunas.

6 mm  m 3m m    Si tu amigo se conecta a una aplicación o sitio
webA éstos podrán acceder a tu nombreA fotografía del perfilA sexoA ID de usuario y aquella

6  mm mm
 mm  mm  mmmmmmm ' mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

información que hayas compartido con "todos". Vambién podrán acceder a tus conexionesA
pero no podrán acceder a tu lista de amigos. Si ya te has conectado a ese sitio web o
aplicación (o dispones de otra cuenta en estos lugares)A es posible que éstos también puedan
conectarse con tu amigo a través de ese sitio web o aplicación. Si la aplicación o el sitio
web desean acceder a cualquier otro contenido o información tuya (incluida tu lista de
amigos)A tendrá que obtener permiso específico de tu amigo. Si tu amigo concede permiso a
la aplicación o al sitio webA sólo podrán acceder a contenido e información sobre ti a la que
tu amigo pueda acceder. AdemásA sólo podrán utilizar dicho contenido y dicha información
en conexión con ese amigo. Por ejemploA si un amigo facilita a una aplicación acceso a una
fotografía que sólo compartes con tus amigosA dicha aplicación puede permitir a tu amigo
ver o imprimir la fotografíaA pero no puede mostrársela a nadie más.

Ve proporcionamos una serie de herramientas para controlar cómo se comparte tu


información cuando tu amigo se conecta a una aplicación o sitio web. Por ejemploA puedes
utilizar la configuración de privacidad de tus aplicaciones y sitios web para limitar qué
información pueden poner tus amigos a disposición de las aplicaciones y los sitios web.
Puedes bloquear el acceso a tu información de todas las aplicaciones y sitios web de la
plataformaA o de aplicaciones o sitios web concretos. Puedes utilizar tu configuración de la
privacidad para limitar los amigos que pueden acceder a tu información o limitar qué parte
de tu información está disponible para "todos". Vambién puedes desconectarte de un amigo
si no estás de acuerdo con el modo en que utiliza tu información.

 mm
m    mm  m  m  Para proporcionarte
experiencias sociales útiles fuera de FacebookA en ocasiones necesitamos proporcionar
Información general sobre ti a sitios web y aplicaciones de terceros aprobados previamente
que utilizan la plataforma cuando los visitas (si aún tienes una sesión iniciada en
Facebook). Del mismo modoA cuando uno de tus amigos visita un sitio web o aplicación
aprobados previamenteA recibirá información general sobre ti para que podáis conectaros
también a través de ese sitio web (si también dispones de una cuenta en dicho sitio web).
En estos casosA requerimos que estos sitios web y estas aplicaciones se sometan a un
proceso de aprobación y participen en diferentes acuerdos con el objetivo de proteger tu
privacidad. Por ejemploA estos acuerdos incluyen disposiciones relativas al acceso y
eliminación de tu Información generalA así como la posibilidad de rechazar la participación
en la experiencia ofrecida. Puedes inhabilitar la personalización instantánea de todos los
sitios web y aplicaciones aprobados previamente mediante la configuración de la
privacidadde las aplicaciones y los sitios web. Vambién puedes bloquear un sitio web o una
aplicación que han recibido autorización previa haciendo clic en "NoA gracias"A que verás
en la barra de color azul de la aplicación o sitio web concreto. AdemásA si cierras la sesión
de Facebook antes de visitar un sitio web o aplicación aprobados previamenteA éstos no
podrán acceder a tu información.

§*  .mm   . Puedes (al igual que todos aquellos a cuya disposición has

6  mm mm
 mm  mm  mmmmmmm '!mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

puesto tu información) utilizar herramientas como fuentes RSSA aplicaciones de libretas de


direcciones del teléfono móvil o funciones de copiar y pegarA para obtener y exportar (y en
algunos casosA importar) información de FacebookA incluida tu propia información y todos
los datos sobre tu persona. Por ejemploA si compartes tu número de teléfono con tus amigosA
éstos pueden utilizar aplicaciones de terceros para sincronizar dicha información con la
libreta de direcciones de sus teléfonos móviles.

   En ocasionesA los anunciantes que presentan publicidad en Facebook emplean
métodos tecnológicos para medir la efectividad de sus anuncios y personalizar el contenido
publicitario. Puedes renunciar a la fijación de cookies de numerosos anunciantes haciendo
clic aquí. Vambién puedes usar la configuración de cookies de tu navegador para limitar o
evitar la fijación de cookies por parte de redes publicitarias. Facebook no comparte con los
anunciantes información que te identifica personalmente salvo si obtenemos tu
autorización.

§   Al hacer clic en algunos enlaces de FacebookA es posible que te lleven fuera de
nuestro sitio web. No nos hacemos responsables de las políticas de privacidad de otros
sitios webA y te animamos a que leas sus normas de privacidad.
m

.m68 m   mm<  8m

Utilizamos la información que recopilamos para tratar de ofrecerte una experiencia seguraA
eficaz y personalizada. A continuaciónA incluimos algunos datos sobre cómo lo hacemos:

m m m   Utilizamos la información que recopilamos para ofrecerte


nuestros servicios y funcionesA evaluarlos y mejorarlos y prestarte servicio técnico.
Empleamos la información para impedir actividades que podrían ser ilegales y para aplicar
nuestra Declaración de derechos y responsabilidades. Vambién utilizamos una serie de
sistemas tecnológicos para detectar y ocuparnos de actividades y contenido en pantalla
anómalos con el fin de evitar abusos como el correo basura. Estos esfuerzos pueden
provocarA en ocasionesA el fin o la suspensión temporal o permanente de algunas funciones
para algunos usuarios.

m  mm   m   OcasionalmenteA podemos ponernos en contacto


contigo para informarte de anuncios relativos a servicios. Puedes optar por no recibir
ninguna comunicación salvo actualizaciones esenciales en la página de notificaciones de la
cuenta. En los mensajes de correo electrónico que te enviemosA podemos incluir contenido
que veas en Facebook.

m  m  m  3  No compartimos información tuya con


anunciantes sin tu consentimiento. (Un ejemplo de consentimiento sería que nos pidieses
que suministrásemos tu dirección de envío a un anunciante para recibir una muestra

6  mm mm
 mm  mm  mmmmmmm '&mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

gratuita.) Permitimos a los anunciantes elegir las características de los usuarios que verán
sus anuncios y podemos utilizar cualquiera de los atributos que hayamos recabado que no te
identifiquen personalmente (como información que puedas haber decidido no mostrar a
otros usuariosA por ejemploA el año de nacimiento) para seleccionar el público apropiado
para dichos anuncios. Por ejemploA podríamos utilizar tu interés por el fútbol para mostrarte
anuncios de equipamiento de fútbolA pero no le decimos a la empresa que vende el
equipamiento quién eres. Puedes consultar los criterios que pueden seleccionar los
anunciantes visitando nuestra página de publicidad. Aunque no compartimos tu
información con anunciantes sin tu consentimientoA cuando hagas clic en un anuncio o
interactúes de otro modo con ésteA existe la posibilidad de que el anunciante pueda colocar
una cookie en tu navegador y tomar nota de que cumple los criterios que ha seleccionado.

m  m  m   En ocasionesA emparejamos los anuncios que ofrecemos
con información pertinente que poseemos sobre ti y sobre tus amigos para que los anuncios
resulten más interesantes y se adapten mejor a ti y a tus amigos. Por ejemploA si te conectas
a la página de tu grupo de música favoritoA podemos mostrar tu nombre y la foto de tu perfil
al lado de un anuncio de dicha página que verán tus amigos. Sólo compartimos la
información personal visible en el anuncio social con el amigo que puede ver el anuncio.
Puedes optar por que tu información no sea utilizada en anuncios sociales en esta página de
ayuda.

m   mm  Podemos utilizar información acerca de ti que recabemos de


otros usuarios de Facebook para completar tu perfil (por ejemploA cuando se te etiqueta en
una foto o se te menciona en una actualización de estado). En tales casosA generalmente te
permitimos eliminar el contenido (por ejemploA permitiéndote eliminar la etiqueta de una
foto tuya) o limitar la visibilidad de tu perfil.

m  m m Utilizamos tu informaciónA incluidas las direcciones que


importas a través de las herramientas de importación de contactosA para hacerte sugerencias
a ti y a otros usuarios de Facebook. Por ejemploA si otro usuario importa la misma dirección
de correo electrónico que túA podemos sugeriros a ambos que añadáis al otro a vuestra lista
de amigos. VambiénA si un amigo tuyo carga una foto en la que aparecesA podemos sugerirle
que te etiquete en ella. Para hacer estoA comparamos las fotos de tu amigo con información
recopilada de las fotos en las que se te ha etiquetado. Vambién podemos sugerirte que uses
herramientas o funciones concretasA según lo que utilicen tus amigos. Para controlar si
podemos sugerir o no a otro usuario que te añada como amigoA ve a la opción "Buscarte en
Facebook" de tu configuración de privacidad. Vambién puedes controlar si sugerimos o no
a otros usuarios que te etiqueten en una foto haciendo clic en "Personalizar la
configuración" en la página de configuración de la privacidad.

m
mmm  mm  Permitimos a otros usuarios utilizar información
de contacto que tengan sobre ti (como tu dirección de correo electrónico) para encontrarteA
incluso a través de herramientas de importación y búsqueda de contactos. Puedes impedir

6  mm mm
 mm  mm  mmmmmmm 'mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

que otros usuarios utilicen tu dirección de correo electrónico para encontrarte en la sección
de búsquedas de tu configuración de la privacidad.

 m   Algunas aplicaciones de software descargables y applets que


ofrecemosA como las barras de herramientas del navegador y las herramientas para cargar
fotosA nos transmiten datos. Podemos no realizar ninguna declaración formal si creemos que
la recopilación y uso de información por nuestra parte es el fin obvio de la aplicaciónA por
ejemploA el hecho de recibir fotografías cuando se utiliza la herramienta para cargar fotos.
Si creemos que no resulta obvio que estemos recopilando o utilizando dicha informaciónA te
avisaremos la primera vez que nos facilites la informaciónA de tal manera que puedas
decidir si deseas utilizar esa función.

6mm    Si se nos notifica que un usuario ha fallecidoA podemos convertir


su cuenta en una cuenta conmemorativa. En tales casosA restringimos el acceso al perfil a
los amigos confirmados y permitimos a éstos y a los familiares que escriban en el muro del
usuario en recuerdo suyo. Podemos cerrar una cuenta si recibimos una solicitud formal de
un pariente del usuario u otra solicitud legal pertinente para hacerlo.

m68 m #  m m<  8m

Facebook se basa en compartir información con otros (amigos y personas de tu entorno) al


tiempo que se te ofrece una configuración de la privacidadque puedes utilizar para
restringir el acceso de otros usuarios a tu información.. Compartimos tu información con
terceros cuando creemos que dicha acción está permitida por tiA que es razonablemente
necesaria para ofrecer nuestros servicios o cuando se nos exige legalmente que lo hagamos.
Por ejemplo:

6 m 3mm  Cuando realices transacciones con otras personas o efectúes
pagos en FacebookA sólo compartiremos la información de la transacción con los terceros
que sean necesarios para completar la transacción. Requeriremos que los terceros acuerden
respetar la privacidad de la información.

6 mmmm  mmmmmm   ! Cuando nos pides que invitemos a


un amigo a que se una a FacebookA le enviaremos un mensaje de tu parteA usando tu
nombre. La invitación también puede contener información sobre otros usuarios que tu
amigo pueda conocer. Vambién le enviamos hasta dos recordatorios en tu nombre. Puedes
ver quién ha aceptado tus invitacionesA enviar recordatorios y eliminar las direcciones de
correo electrónico de tus amigos en la página del historial de invitaciones. Si tu amigo no
quiere que conservemos su informaciónA la eliminaremos a petición suya en esta página de
ayuda.

6 m m mm   .m m   Puedes elegir compartir

6  mm mm
 mm  mm  mmmmmmm mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

información con comerciantes o proveedores de comercio electrónico no asociados con


Facebook a través de ofertas en el sitio web. Esto será a tu entera discreción y no le
suministraremos información tuya a dichos comerciantes sin tu consentimiento.

m
mmm  mm  De forma predeterminadaA incluimos cierta
información que has colocado en tu perfil en los resultados de búsqueda de Facebook para
ayudar a tus amigos a encontrarte. Sin embargoA puedes controlar quién puede ver alguna
de esta informaciónA así como quién puede encontrarte en búsquedasA a través de la
configuración de la privacidad. Vambién colaboramos con proveedores de mensajería
instantánea y correo electrónico para ayudar a sus usuarios a identificar cuáles de sus
contactos son usuarios de FacebookA de forma que podamos promocionar Facebook a
dichos usuarios.

mmm m  mm;m  mm   .m;   m   En


generalA restringimos el acceso de los motores de búsqueda a nuestro sitio web. Podemos
permitirles acceder a información configurada con la opción "todos" (junto con tu nombre y
fotografía de perfil) y a la información de tu perfil que sea visible para todos. Puedes
cambiar la visibilidad de parte de la información de tu perfil en la sección de
personalización de la configuración de la privacidad. Vambién puedes impedir que los
motores de búsqueda sometan a indexado tu perfil en la configuración de la privacidad de
las aplicaciones y los sitios web.

m
mm > m m  m m   A veces compartimos datos
agregados o anónimos con terceros para ayudar a mejorar o promocionar nuestro servicio.
Sin embargoA sólo lo hacemos de tal manera que no se pueda identificar a ningún usuario en
particular ni vincularse a éste con ninguna información o acción específica.

mm   Podemos ofrecer información a proveedores de servicios que nos


ayudan a facilitarte los servicios que ofrecemos. Por ejemploA podemos utilizar a terceros
para alojar nuestro sitio webA enviar actualizaciones por correo electrónico acerca de
FacebookA eliminar información repetitiva de nuestras listas de usuariosA procesar pagos u
ofrecer enlaces o resultados de búsqueda (lo que incluye enlaces promocionados). Estos
proveedores de servicios pueden tener acceso a tu información personal para utilizarla
durante un período de tiempo limitadoA pero cuando esto ocurreA implantamos sistemas de
protección técnicos y contractuales razonables para restringir su uso de dicha información a
la ayuda que nos prestan para ofrecer el servicio.

m  m m   Podemos pedir a anunciantes ajenos a Facebook que


muestren anuncios para promocionar nuestros servicios. Podemos pedirles que entreguen
dichos anuncios basándose en la presencia de una cookieA pero al hacerloA no se compartirá
ninguna otra información con el anunciante.

m  m  m >  Podemos prestar servicios de forma conjunta con otras

6  mm mm
 mm  mm  mmmmmmm *mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

empresasA como se el caso del servicio de clasificados del Marketplace de Facebook. Si


utilizas estos serviciosA podemos compartir tu información para facilitar dicho servicio. Sin
embargoA identificaremos al socio y te presentaremos la política de privacidad del
proveedor de servicios conjuntos antes de que utilices dicho servicio.

m mm  m  m


mm9  Podemos revelar información
con arreglo a citacionesA órdenes judiciales u otros requerimientos (incluidos asuntos civiles
y penales) si creemos de buena fe que la ley exige dicha respuesta. Esto puede incluir
respetar requerimientos de jurisdicciones ajenas a los Estados Unidos cuando creamos de
buena fe que las leyes locales de tal jurisdicción exigen dicha respuestaA son aplicables a
usuarios de dichas jurisdicción y resultan coherentes con estándares internacionales
generalmente aceptados. Vambién podemos compartir información si creemos de buena fe
que resulta necesario para impedir un fraude u otra actividad ilegalA evitar un daño físico
inminente o protegernos tanto a nosotros como al usuario de personas que infrinjan nuestra
Declaración de derechos y responsabilidades. Esto puede incluir compartir información con
otras empresasA abogadosA tribunales u otras entidades gubernamentales.

V mm  mmm m   mm   If the ownership of all or


substantially all of our business changesA we may transfer your information to the new
owner so that the service can continue to operate. En tal casoA tu información seguiría
estando sujeta a las promesas efectuadas en la Política de privacidad preexistente.

m68 m#
$
m   m
 m<  8m

§ .mmm  Puedes cambiar o eliminar la información de tu perfil en cualquier


momento yendo a la página de tu perfil y haciendo clic en ³Editar mi perfil´. La
información se actualizará de inmediato.

§  m m   m   Si utilizas nuestra herramienta para importar contactos


con el fin de cargar direccionesA después puedes eliminar la lista en esta página de ayuda.
Puedes eliminar las direcciones de correo electrónico de amigos que hayas invitado a unirse
a Facebook en tu página del historial de invitaciones.

  .m m   .mm m  Si quieres dejar de utilizar tu cuentaA puedes
desactivarla o eliminarla. Cuando desactivas una cuentaA ningún usuario podrá verlaA pero
no será eliminada. Guardamos la información de tu perfil (conexionesA fotosA interesesA etc.)
por si más tarde decides volver a activarla. Muchos usuarios desactivan sus cuentas por
motivos temporales y al hacerloA nos piden que mantengamos su información hasta que
vuelvan a Facebook. Seguirás pudiendo reactivar la cuenta y restaurar tu perfil en su
totalidad. Cuando eliminas una cuentaA se borra de forma permanente. Sólo deberías
eliminar tu cuenta si estás seguro de que nunca querrás reactivarla. Puedes desactivar la
cuenta en la página de configuración de la cuentao eliminar tu cuenta en esta página de
ayuda.

6  mm mm
 mm  mm  mmmmmmm +mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

   m m m   . Incluso después de eliminar información de tu perfil o
eliminar tu cuentaA pueden permanecer copias de dicha información visibles en otro lugar
en la medida en que se haya compartido con otrosA se haya distribuido de otro modo
conforme a tu configuración de la privacidadA o haya sido copiada o almacenada por otros
usuarios. Sin embargoA tu nombre dejará de estar asociado con dicha información en
Facebook. (Por ejemploA si publicas algo en el perfil de otro usuario y después eliminas tu
cuentaA dicha publicación podría permanecerA pero atribuirse a un ³Usuario de Facebook
anónimo.´) AsimismoA podemos conservar cierta información para evitar el robo de
identidades y otras conductas inadecuadasA incluso si se ha solicitado la eliminación. Si has
facilitado a aplicaciones o sitios web de terceros acceso a tu informaciónA éstos pueden
conservar tu información hasta el límite permitido por sus condiciones de servicio o
políticas de privacidad. Sin embargoA después de desconectarte de ellosA ya no podrán
acceder a la información a través de nuestra plataforma.

6 mm La información eliminada y borrada puede permanecer en copias de


seguridad hasta un máximo de 90 díasA pero no estará disponible para los demás.

   .mm   mm m  Si un usuario nos facilita tu dirección de correo


electrónicoA pero no eres usuario de Facebook y quieres que la eliminemosA puedes hacerlo
en esta página de ayuda. Sin embargoA esa solicitud sólo se aplicará a las direcciones que
tengamos en el momento de la solicitud y no a ninguna dirección que los usuarios nos
faciliten posteriormente.
m

!m68 m# 
0
 m m<  8m

Hacemos todo lo posible para mantener a salvo tu informaciónA pero necesitamos tu ayuda.
Para obtener información más pormenorizada sobre cómo mantener la seguridad en
FacebookA visita la página Security Page de Facebook.

mm  mm mm  mm   . Mantenemos la


información de tu cuenta en un servidor protegido con un firewall. Cuando introduces
información confidencial (por ejemploA contraseñas y números de tarjeta de crédito)A la
ciframos usando tecnología de capa de socket seguro (SSL). Vambién utilizamos medidas
sociales y automatizadas para aumentar la seguridad (como el análisis de la actividad de la
cuenta por si hubiera algún comportamiento fraudulento o anómalo de otro tipo)A podemos
limitar el uso de funciones del sitio web en respuesta a posibles signos de abusoA podemos
eliminar contenido inadecuado o enlaces a contenido ilegalA y podemos suspender o
desactivar cuentas por si hubiera violaciones de nuestra Declaración de derechos y
responsabilidades.

 m mm m   . Aunque te permitimos definir opciones de


privacidad que limiten el acceso a tu informaciónA ten en cuenta que ninguna medida de

6  mm mm
 mm  mm  mmmmmmm ,mm m 
 m66m
m m m m m
Ú   
   Ú   m m m m m 
mm mmm

seguridad es perfecta ni impenetrable. No podemos controlar las acciones de otros usuarios


con los que compartas información. No podemos garantizar que sólo vean tu información
personas autorizadas. No podemos garantizar que la información que compartas en
Facebook no pase a estar disponible públicamente. No somos responsables de que ningún
tercero burle cualquier configuración de la privacidad o medidas de seguridad en Facebook.
Puedes reducir estos riesgos utilizando hábitos de seguridad de sentido común como elegir
una contraseña seguraA utilizar contraseñas diferentes para servicios diferentes y emplear
software antivirus actualizado.

  mm      Deberías informarnos de cualquier incumplimiento de la


seguridad en esta página de ayuda.
m

&m m $ 


m

6   Podemos cambiar esta Política de privacidad conforme a los procedimientos


señalados en la Declaración de derechos y responsabilidades. Salvo indicación en contrarioA
nuestra política de privacidad en vigor se aplica a toda la información que tenemos sobre ti
y tu cuenta. Si realizamos cambios en esta Política de privacidadA te lo notificaremos
publicándolo aquí y en la página Facebook Site Governance. Si los cambios son
sustancialesA mostraremos un aviso prominente si las circunstancias lo requieren. Puedes
asegurarte de que recibes notificación directamente haciendo clic en el botón "Me gusta" de
la página Facebook Site Governance.

6   mm m   .m


m   mm§ m,  Al utilizar
FacebookA das tu consentimiento para que tus datos personales sean transferidos y
procesados en Estados Unidos.

V   m  "NosA" "nosotrosA" "nuestroA" "Plataforma" y "Facebook" significan lo


mismo que en la Declaración de derechos y responsabilidades. ³Información´ y
³contenido´ se utilizan de forma más general e intercambiable aquí que en la Declaración
de derechos y responsabilidadessalvo que el contexto lo limite de otro modo.m

6  mm mm
 mm  mm  mmmmmmm .mm m 
 m66m