GET accounts/:account_id/scoped_timeline does not return new Tweets

api

#1

Hi,
Actually, when we create Tweets, they don’t appear on the result of the API call GET accounts/:account_id/scoped_timeline.
The same behaviors is visible with a user’s timeline or nullcasted Tweets.
For instance, yesterday I created 3 Tweets (2 nullcasted and 1 user’s timeline) and they appear only today.

Today I create a new Tweet(nullcasted), https://twitter.com/QE_Marin_Team/status/948855269496360960, it does not appear on the result of scoped_timeline API call (with scoped_to=none).

Is there a delay before they appear on the result ?

Please note that I’m using POST statuses/update API call with and without the parameter nullcast.

Thanks.


#2

Hi @CatanYann,

I just tested the creation of a nullcasted tweet and then executed GET scoped_timeline which came through immediately. Therefore I was not able to recreate this delay.

$ twurl -H ads-api.twitter.com "/2/accounts/18ce5475gij/scoped_timeline?scoped_to=none&trim_user=true&count=1" | jq
{
  "data": [
    {
      "created_at": "Thu Jan 04 18:30:30 +0000 2018",
      "id": 948985004054396900,
      "id_str": "948985004054396928",
      "text": "Dark tweet test",
      "truncated": false,
      "entities": {
        "hashtags": [],
        "symbols": [],
        "user_mentions": [],
        "urls": []
      },
      "source": "<a href=\"https://ads-api.twitter.com\" rel=\"nofollow\">Twitter Ads Composer</a>",
      "in_reply_to_status_id": null,
      "in_reply_to_status_id_str": null,
      "in_reply_to_user_id": null,
      "in_reply_to_user_id_str": null,
      "in_reply_to_screen_name": null,
      "user": {
        "id": 1877861928,
        "id_str": "1877861928"
      },
      "geo": null,
      "coordinates": null,
      "place": null,
      "contributors": null,
      "retweet_count": 0,
      "favorite_count": 0,
      "favorited": false,
      "retweeted": false,
      "scopes": {
        "followers": false
      },
      "lang": "en"
    }
  ],
  "next_cursor": "AAAAAFnOtqAMrrsXldXgAA",
  "request": {
    "params": {
      "trim_user": true,
      "count": 1,
      "scoped_to": "none",
      "account_id": "18ce5475gij"
    }
  }
}

I’m also wondering how you are using the parameter nullcast in the POST statuses/update endpoint as that does not exist in our documentation.

My recommendation would be to use the POST accounts/:account_id/tweet endpoint to create either nullcasted or organic tweets where “nullcast” is a valid parameter.


#3

Hi @goforbrent,
I still have the issue, even when I used POST accounts/:account_id/tweet endpoint.

I made a couple of example:

  • API call we currently used:
$ twurl \
 -d 'status=test dark tweet 4' \
 -d 'nullcast=true' \
 "/1.1/statuses/update.json"
{"created_at":"Fri Jan 05 08:41:36 +0000 2018","id":949199186586685440,"id_str":"949199186586685440","text":"test dark tweet 4","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca href=\"http:\/\/www.socialmoov.com\" rel=\"nofollow\"\u003eSocialmoov\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":744054873541451776,"id_str":"744054873541451776","name":"QE Marin team","screen_name":"QE_Marin_Team","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Sat Jun 18 06:31:20 +0000 2016","favourites_count":0,"utc_offset":-28800,"time_zone":"Pacific Time (US & Canada)","geo_enabled":false,"verified":false,"statuses_count":153,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/744078797394292736\/XsD_tznY_normal.jpg","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/744078797394292736\/XsD_tznY_normal.jpg","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"scopes":{"followers":false},"lang":"en"}
  • API call with the endpoint from your reply (I don’t know why the response seems to be truncated on my terminal):
$ twurl \
 -H ads-api.twitter.com \
 -d 'text=test dark tweet 5' \
 -d 'nullcast=true' \
 "/2/accounts/18ce54gohlh/tweet"
{"data":{"created_at":"Fri Jan 05 08:42:40 +0000 2018","id":949199455856857088,"id_str":"949199455856857088","text":"test dark tweet 5","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca href=\"http:\/\/www.socialmoov.com\" rel=\"nofollow\"\u003eSocialmoov\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":744054873541451776,"id_str":"744054873541451776","name":"QE Marin team","screen_name":"QE_Marin_Team","location":"","url":null,"description":"","protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Sat Jun 18 06:31:20 +0000 2016","favourites_count":0,"utc_offset":-28800,"time_zone":"Pacific Time (US & Canada)","geo_enabled":false,"verified":false,"statuses_count":153,"lang":"en","contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/744078797394292736\/XsD_tznY_normal.jpg","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/744078797394292736\/XsD_tznY_normal.jpg","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"scopes":{"followers":false},"lang":"en"},"request":{"params":{"text":"test dark tweet 5","nullcast":true
  • API call to view the recent nullcasted Tweets:
$ twurl -H ads-api.twitter.com "/2/accounts/18ce54gohlh/scoped_timeline?scoped_to=none&trim_user=true&count=1"
{"data":[{"created_at":"Thu Jan 04 09:54:59 +0000 2018","id":948855269496360960,"id_str":"948855269496360960","text":"test dark tweet 3","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca href=\"http:\/\/www.socialmoov.com\" rel=\"nofollow\"\u003eSocialmoov\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":744054873541451776,"id_str":"744054873541451776"},"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"scopes":{"followers":false},"lang":"en"}],"next_cursor":"AAAAAFpM9kMNKgU9YJawBQ","request":{"params":{"trim_user":true,"count":1,"scoped_to":"none","account_id":"18ce54gohlh"}}}

Is it possible I create the nullcasted Tweets the wrong way ?

ps: actually, we used nullcast with statuses/update.json due to legacy code on our side, we didn’t change to the right endpoint yet.

Thanks.


#4

@CatanYann - I was able to find your app ID and I do see that you have permission to create nullcasted tweets via the POST statuses/update endpoint. I was not able to recreate the delay with the tweet showing up in the Ads API scoped_timeline. My suggestion would be to use the appropriate POST accounts/:account_id/tweet endpoint.

The creation pipeline of POST statuses/update follows the same process that checks for fraud, brand safety etc just as if you posted on Twitter.com. The API tweet creation POST accounts/:account_id/tweet endpoint will by default nullcast the tweet. Therefore the analysis on the tweet doesn’t happen until it is connected to a line_item and promoted. Which is why I believe you’re noticing a slight delay depending on how many tweets are being processed and assessed. Hope this helps clarify things a bit. Thanks!


#5

Hi all,
i will try to “up” this thread once again as I encounter the same issue on the very same Handle. Nullcasted or not, with an image or not, using the /statuses/update endpoint. Newly created tweets are visible in /scorped_timeline endpoint only the next day or so.
It’s not a general issue, but localised to that handle. Is it possible that our Handle is flagged as needing a validation or something like that ?

Thanks !


#6

up