Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POST to the Cards endpoint fails #181

Open
andrewjmeier opened this issue Oct 4, 2021 · 1 comment
Open

POST to the Cards endpoint fails #181

andrewjmeier opened this issue Oct 4, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@andrewjmeier
Copy link

The Cards endpoint (https://developer.twitter.com/en/docs/twitter-ads-api/creatives/api-reference/cards) appears to be another that requires a JSON body instead of url encoded data.

twurl -H "https://ads-api.twitter.com" "/10/accounts/xyz/cards" -X POST -d '{"name":"SHOJO_1080x1080_002.mp4","components":[{"type":"MEDIA","media_key":"xyz"},{"type":"BUTTON","label":{"type":"ENUM","value":"INSTALL"},"destination":{"type":"APP","country_code":"JP","googleplay_app_id":"jp.intense.ganache","iphone_app_id":"1291823197"}}]}' -A 'Content-Type: application/json'

Here's an example twurl with a working request. (You'll need to include your account ID in the path and a valid media_key.)

@andrewjmeier
Copy link
Author

const JSON_ENDPOINTS = [
  /direct_messages\/events\/new/,
  /direct_messages\/welcome_messages\/new/,
  /direct_messages\/welcome_messages\/rules\/new/,
  /media\/metadata\/create/,
  /collections\/entries\/curate/,
  /accounts\/[^\/]+\/cards$/,
];

function isJSONEndpoint(resource) {
  const endpoint = JSON_ENDPOINTS.find((endpoint) => {
    return endpoint.test(resource)
  })

  return !!endpoint
}

Swapping the JSON_ENDPOINTS to be an array of regexes might do the trick. Happy to open a PR

@ciffelia ciffelia added the bug Something isn't working label Oct 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

2 participants