Skip to contents

op3_hits() obtains lowest-level log records for every prefix redirect processed by the OP3 service.

Usage

op3_hits(
  format = "json",
  limit = 100,
  desc = TRUE,
  start = NULL,
  start_inclusive = TRUE,
  end = NULL,
  url = NULL,
  hashed_ip_address = NULL
)

Arguments

format

result output format returned by the API endpoint. Possible values are json (object-based) or json-a (array-based) formats.

limit

Integer of maximum number of episodes to return. The maximum limit supported for this endpoint is 1000. Default is 100.

desc

Boolean to return results in time-descending order. If FALSE, results are returned in time-ascending order. Default is TRUE.

start

Optional date or date-time object to filter results to those starting at the supplied value. The object must be class Date. Default is NULL.

start_inclusive

Boolean to consider the start date or date-time as inclusive for results. If FALSE, the start value is considered exclusive. Default is TRUE.

end

Optional date or date-time object to filter results to those ending at the supplied value. The object must be class Date. Default is NULL.

url

Optional string to filter results by the specific URL providing the redirect. The URL is often a direct link to a podcast episode file, or a version of the URL with a wildcard character * to enable multiple episodes for a given podcast. Default is NULL.

hashed_ip_address

Optional string to filter results by the specific IP address secure hash. Default is NULL.

Value

Atibble data frame for the json format, otherwise a nested list for the json-a format. The data frame contains the following columns:

  • time: Timestamp of current record

  • uuid: OP3 UUID for podcast

  • hashedIpAddress: Secure hash of the record's originating IP address

  • method: Type of HTTP method used

  • url: URL of the record's request

  • userAgent: Request's reported user agent

  • range: If application, the request's specified bytes range.

  • edgeColo: Three-letter airport code associated with the record

  • continent: The request's originating continent

  • country: Two-letter country code of the record

  • timezone: Request timezone

  • regionCode: Abbreviation of region

  • region: Region of request

  • metroCode: Region metro code

Examples

# Requires API token

# obtain 10 records
op3_hits(limit = 10)
#> # A tibble: 10 × 15
#>    time                uuid   hashedIpAddress method url   userAgent range xpsId
#>    <dttm>              <chr>  <chr>           <chr>  <chr> <chr>     <chr> <chr>
#>  1 2024-05-26 03:02:29 9c303… 6dcb5f13e97b89… GET    http… Podimo/2… byte… F676…
#>  2 2024-05-26 03:02:29 4a9cc… 248070500b09bb… GET    http… CastBox/… byte… NA   
#>  3 2024-05-26 03:02:29 39d67… 313dead66f5735… GET    http… Podverse… byte… 14E6…
#>  4 2024-05-26 03:02:29 e7943… 4d7941e9e0420a… GET    http… Spotify/… byte… NA   
#>  5 2024-05-26 03:02:29 2918d… 8932c7dd847e9a… GET    http… CastBox/… byte… NA   
#>  6 2024-05-26 03:02:29 47a62… ffadf61c0bd803… GET    http… CastBox/… byte… NA   
#>  7 2024-05-26 03:02:29 8d2e6… 03f8f7f81f2462… GET    http… Podcasts… byte… D2BF…
#>  8 2024-05-26 03:02:29 f767f… 03f8f7f81f2462… GET    http… Podcasts… byte… 7198…
#>  9 2024-05-26 03:02:29 d70c8… 7c93dc19e7d848… GET    http… CastBox/… byte… NA   
#> 10 2024-05-26 03:02:29 e3d8a… 1934ed26e1c588… GET    http… CastBox/… byte… NA   
#> # ℹ 7 more variables: edgeColo <chr>, continent <chr>, country <chr>,
#> #   timezone <chr>, regionCode <chr>, region <chr>, metroCode <chr>

# records based on specific podcast episode
op3_hits(url = "https://op3.dev/e/serve.podhome.fm/episode/99cfd30f-e40c-426a-3557-08dc4ea63bb0/63851340872787683054574074-0a1f-4951-8f2a-9084678c6604v1.mp3")
#> # A tibble: 100 × 16
#>    time                uuid      hashedIpAddress method url   userAgent edgeColo
#>    <dttm>              <chr>     <chr>           <chr>  <chr> <chr>     <chr>   
#>  1 2024-05-26 03:01:00 2d0d44f2… be7061f953d7f7… GET    http… Overcast… CDG     
#>  2 2024-05-26 00:15:09 732f4ed9… dfed5dc4d57271… GET    http… Overcast… MAN     
#>  3 2024-05-25 19:40:54 f1719348… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  4 2024-05-25 19:40:54 c0c21267… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  5 2024-05-25 19:40:54 334d24ef… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  6 2024-05-25 19:40:54 3307b1a9… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  7 2024-05-25 19:40:54 11c4230c… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  8 2024-05-25 19:40:54 141df8ed… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  9 2024-05-25 19:40:54 370648c6… 3ecb5557837266… GET    http… Podcasts… AMS     
#> 10 2024-05-25 19:40:54 936c8f12… 3ecb5557837266… GET    http… Podcasts… AMS     
#> # ℹ 90 more rows
#> # ℹ 9 more variables: continent <chr>, country <chr>, timezone <chr>,
#> #   regionCode <chr>, region <chr>, metroCode <chr>, range <chr>, xpsId <chr>,
#> #   referer <chr>

# records for multiple episodes using a wildcard in URL
op3_hits(url = "https://op3.dev/e/serve.podhome.fm/episode/99cfd30f-e40c-426a-3557-08dc4ea63bb0/*")
#> # A tibble: 100 × 16
#>    time                uuid      hashedIpAddress method url   userAgent edgeColo
#>    <dttm>              <chr>     <chr>           <chr>  <chr> <chr>     <chr>   
#>  1 2024-05-26 03:01:00 2d0d44f2… be7061f953d7f7… GET    http… Overcast… CDG     
#>  2 2024-05-26 03:01:00 6677e487… be7061f953d7f7… GET    http… Overcast… CDG     
#>  3 2024-05-26 00:15:09 732f4ed9… dfed5dc4d57271… GET    http… Overcast… MAN     
#>  4 2024-05-25 23:25:42 279af5b7… bc7989cdfa188b… GET    http… python-h… LAX     
#>  5 2024-05-25 20:54:23 d9ef13c1… ae9441c356d6d1… HEAD   http… Apache-H… FRA     
#>  6 2024-05-25 20:54:23 958a7e71… ae9441c356d6d1… HEAD   http… Apache-H… FRA     
#>  7 2024-05-25 20:29:01 a4a02ec4… 4cb9befbeafcef… GET    http… python-h… LAX     
#>  8 2024-05-25 19:40:54 f1719348… 3ecb5557837266… GET    http… Podcasts… AMS     
#>  9 2024-05-25 19:40:54 c0c21267… 3ecb5557837266… GET    http… Podcasts… AMS     
#> 10 2024-05-25 19:40:54 334d24ef… 3ecb5557837266… GET    http… Podcasts… AMS     
#> # ℹ 90 more rows
#> # ℹ 9 more variables: continent <chr>, country <chr>, timezone <chr>,
#> #   regionCode <chr>, region <chr>, metroCode <chr>, range <chr>, xpsId <chr>,
#> #   referer <chr>