General API Questions
Q: Are there libraries available for developers that wrap these API calls?
Q: Is there a version of the PHP SDK that does not use namespaces? Namespaces are supported in PHP 5.3 and up, but we are currently using an older version.
A: No, unfortunately not at this time. We recommend you upgrade to PHP 5.3, or let us know why you can't at email@example.com and we'll discuss some options! One option is to open up the PHP SDK and just strip out the namespacing (which should be the only 5.3-exclusive feature we're using).
Q: This all sounds great. How do I get access?
A: Fill out an API request form here and someone will get back to you shortly!
How do I...Q: I want to perform a test purchase. What credit card numbers do you support.
Q: The api is giving me a 401 denied.
1. Check that your api keys match the environment you are trying to use.
2. The percent encoding should be in uppercase. %2f is not the same as %2F. The system is expecting normalized parameters to be in upper case.
3. When generating the SignatureBaseString, it is a common mistake to not sort the parameters according to their byte value.
A: Try using 4111111111111111 with any CVV and any expiration date in the future.
Q: Is there any endpoint to create a Contact Us request?
A: Yes, check out the create-ticket method.
Q: I want to display a user's orders. I noticed that the results include pageCount, pageNumber, pageSize, and totalItems. Does this mean the API uses pagination to return the results? If so, is there a max number?
A: The Consumer Orders call returns all orders for the consumer. The standard paging information is there because we are returning a list.
Q: I see what looks like paging information in the response object. Does that mean that call is paged? eg ConsumerOrders, ConsumerCreditCards
A: Review the documentation for the method call. If PageSize and PageNumber are not listed for the method call, then all records will be returned. Another sanity check is if the pageSize and totalItems are equal and the pageCount is 1, then there is no paging on the call as everything is returned as one page.
Q: I want to view offer details and receive error messages in another language other than English.
A: Use the Accept-Language header on the request, eg "en", "fr-CA", "de". This works the same as browser resolution although we only process the first language preference and will use the publisher default language if it doesn't match.
Q: What is the difference between the Add Email Lead method and the Update Subscription Info method?
A: The add email lead method should be used when users are opting in to add their email to an email list. For example, the create account page or the buy page might have a checkbox to "opt me in to deals emails" which would trigger a call to add email lead. Add email lead is "fire and forget," meaning that its only purpose is creating a record that a user opted in to receive email at some point in time, and that it may not be important to consider whether or not the operation succeeded or failed.
The update subscription info method should be used to enable a user to edit subscription info on a user specific "edit my subscriptions" page. This page could allow the user to opt in or out of specific email lists, or globally opt out of all email. Update subscription info will reset or resync the user's email preferences at a third party email provider based on the information posted in the update subscription info request.