Marketplace.createListing

From Facebook Developers Wiki

Jump to: navigation, search

Contents

[edit] Description

Creates or modifies a listing in Marketplace. You may only create and modify a listing for a user who has granted the application the extended permission create_listing.

For Web applications, you must pass either the ID of the user on whose behalf you're making this call or the session key for that user, but not both. If you don't specify a user with the uid parameter, then that user whose session it is will be the target of the call.

However, if your application is a desktop application, you must pass a valid session key for security reasons. Do not pass a uid parameter.


[edit] Parameters

RequiredNameTypeDescription
required api_key string The application key associated with the calling application.
call_id float The request's sequence number. Each successive call for any session must use a sequence number greater than the last. We suggest using the current time in milliseconds, such as PHP's microtime(true) function.
sig string An MD5 hash of the current request and your secret key, as described in the authentication guide.
v string This must be set to 1.0 to use this version of the API.
optional session_key string The session key of the user for whom you are creating the listing.
Note: A session key is always required for desktop applications. It is required for Web applications only when the uid is not specified.
format string Desired response format. Either XML (default) or JSON.
callback string Name of a function to call. This is primarily to enable cross-domain JavaScript requests using the <script> tag, also known as JSONP, and works with both the XML and JSON formats. The function will be called with the response passed as the parameter.
listing_id int The listing ID to modify, or 0 if the user is creating a new listing.
show_on_profile bool A privacy control indicating whether to display the listing on the poster's profile.
listing_attrs string A JSON encoded string of the listing attributes. Marketplace Listing Attributes has a list of attributes by category. Note that when using our PHP client library, you can actually pass an associative array and Facebook automatically handles the JSON encoding. For example: {'category':'OTHER','subcategory':'GENERAL','title':'test listing','description':'test listing'}
uid int The user ID of the user for whom you are creating the listing. If this parameter is not specified, then it defaults to the session user.
Note: This parameter applies only to Web applications and is required by them only if the session_key is not specified. Facebook ignores this parameter if it is passed by a desktop application.


[edit] Example Return XML

Example Code $listing_data = array('category':'OTHER', 'subcategory':'GENERAL', 'title':'test listing', 'description':'test listing'); // Passing in 0 to create a new listing // The second argument indicates that we want to show this listing on the user's profile $facebook->marketplace_createListing(0, true, $listing_data);


Example Return XML <?xml version="1.0" encoding="UTF-8"?> <marketplace_createListing_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">6007447597</marketplace_createListing_response>


[edit] Response

This method returns the listing ID of the modified/created listing. If you are modifying a listing, it is the same as the listing ID provided to the method.


[edit] Error Codes

CodeDescription
1 An unknown error occurred. Please resubmit the request.
2 The service is not available at this time.
4 The application has reached the maximum number of requests allowed. More requests are allowed once the time window has completed.
5 The request came from a remote address not allowed by this application.
100 One of the parameters specified was missing or invalid.
101 The API key submitted is not associated with any known application.
102 The session key was improperly submitted or has reached its timeout. Direct the user to log in again to obtain another key.
103 The submitted call_id was not greater than the previous call_id for this session.
104 Incorrect signature.
140 Invalid category.
141 Invalid subcategory.
142 Invalid title.
143 Invalid description.
200 The application does not have permission to operate on the passed in uid parameter.
280 The extended permission create_listing has not been granted to this application.


[edit] Notes

  • This function does not require a session_key, unless it is being called by a desktop application.
Navigation