{ "info": { "_postman_id": "71b19d5e-78a1-4a4a-98b5-12cbf2f13fe6", "name": "Maloja", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Scrobbling", "item": [ { "name": "Scrobble Native", "item": [ { "name": "Query String", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [] }, "url": { "raw": "{{url}}/apis/mlj_1/newscrobble?key={{api_key}}&artist={{data.artist1}}&title={{data.title1}}&artist={{data.artist2}}", "host": [ "{{url}}" ], "path": [ "apis", "mlj_1", "newscrobble" ], "query": [ { "key": "key", "value": "{{api_key}}" }, { "key": "artist", "value": "{{data.artist1}}" }, { "key": "title", "value": "{{data.title1}}" }, { "key": "artist", "value": "{{data.artist2}}" } ] } }, "response": [] }, { "name": "Query String Redirect", "request": { "method": "POST", "header": [], "url": { "raw": "{{url}}/api/newscrobble?key={{api_key}}&artist={{data.artist1}}&title={{data.title1}}&artist={{data.artist2}}", "host": [ "{{url}}" ], "path": [ "api", "newscrobble" ], "query": [ { "key": "key", "value": "{{api_key}}" }, { "key": "artist", "value": "{{data.artist1}}" }, { "key": "title", "value": "{{data.title1}}" }, { "key": "artist", "value": "{{data.artist2}}" } ] } }, "response": [] }, { "name": "Formdata", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "key", "value": "{{api_key}}", "type": "text" }, { "key": "artist", "value": "{{data.artist1}}", "type": "text" }, { "key": "title", "value": "{{data.title1}}", "type": "text" }, { "key": "artist", "value": "{{data.artist2}}", "type": "text" } ] }, "url": { "raw": "{{url}}/apis/mlj_1/newscrobble", "host": [ "{{url}}" ], "path": [ "apis", "mlj_1", "newscrobble" ] } }, "response": [] }, { "name": "Formdata Redirect", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "key", "value": "{{api_key}}", "type": "text" }, { "key": "artist", "value": "{{data.artist1}}", "type": "text" }, { "key": "title", "value": "{{data.title1}}", "type": "text" }, { "key": "artist", "value": "{{data.artist2}}", "type": "text" } ] }, "url": { "raw": "{{url}}/api/newscrobble", "host": [ "{{url}}" ], "path": [ "api", "newscrobble" ] } }, "response": [] }, { "name": "JSON", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"key\": \"{{api_key}}\",\n \"artist\": \"{{data.artist1}}\",\n \"title\": \"{{data.title1}}\"\n}" }, "url": { "raw": "{{url}}/apis/mlj_1/newscrobble", "host": [ "{{url}}" ], "path": [ "apis", "mlj_1", "newscrobble" ] } }, "response": [] }, { "name": "JSON Multiartist", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "type": "text", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"key\": \"{{api_key}}\",\n \"artists\": [\"{{data.artist1}}\",\"{{data.artist2}}\"],\n \"title\": \"{{data.title1}}\"\n}" }, "url": { "raw": "{{url}}/apis/mlj_1/newscrobble", "host": [ "{{url}}" ], "path": [ "apis", "mlj_1", "newscrobble" ] } }, "response": [] }, { "name": "JSON Redirect", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "type": "text", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"key\": \"{{api_key}}\",\n \"artist\": \"{{data.artist1}}\",\n \"title\": \"{{data.title1}}\"\n}" }, "url": { "raw": "{{url}}/api/newscrobble", "host": [ "{{url}}" ], "path": [ "api", "newscrobble" ] } }, "response": [] } ] }, { "name": "Scrobble Listenbrainz", "item": [ { "name": "JSON", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "type": "text" }, { "key": "Authorization", "value": "token {{api_key}}", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n\t\"listen_type\":\"single\",\n\t\"payload\":[\n\t\t{\n\t\t\t\"track_metadata\":{\n\t\t\t\t\"artist_name\":\"{{data.artist1}}\",\n\t\t\t\t\"track_name\":\"{{data.title1}}\"\n\t\t\t}\n\t\t}\n\t]\n}" }, "url": { "raw": "{{url}}/apis/listenbrainz/1/submit-listens", "host": [ "{{url}}" ], "path": [ "apis", "listenbrainz", "1", "submit-listens" ] } }, "response": [] }, { "name": "JSON Redirect", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "type": "text", "value": "application/json" }, { "key": "Authorization", "type": "text", "value": "token {{api_key}}" } ], "body": { "mode": "raw", "raw": "{\n\t\"listen_type\":\"single\",\n\t\"payload\":[\n\t\t{\n\t\t\t\"track_metadata\":{\n\t\t\t\t\"artist_name\":\"{{data.artist1}}\",\n\t\t\t\t\"track_name\":\"{{data.title1}}\"\n\t\t\t}\n\t\t}\n\t]\n}" }, "url": { "raw": "{{url}}/api/s/listenbrainz/1/submit-listens", "host": [ "{{url}}" ], "path": [ "api", "s", "listenbrainz", "1", "submit-listens" ] } }, "response": [] } ] }, { "name": "Scrobble Audioscrobbler", "item": [ { "name": "JSON", "event": [ { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript" } }, { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n\t\"method\":\"track.scrobble\",\n\t\"artist\":\"{{data.artist1}}\",\n\t\"track\":\"{{data.title1}}\",\n\t\"sk\":\"{{session_key}}\"\n}" }, "url": { "raw": "{{url}}/apis/audioscrobbler/2.0/", "host": [ "{{url}}" ], "path": [ "apis", "audioscrobbler", "2.0", "" ] } }, "response": [] }, { "name": "JSON Redirect", "event": [ { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "type": "text", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n\t\"method\":\"track.scrobble\",\n\t\"artist\":\"{{data.artist1}}\",\n\t\"track\":\"{{data.title1}}\",\n\t\"sk\":\"{{session_key}}\"\n}" }, "url": { "raw": "{{url}}/api/s/audioscrobbler/2.0/", "host": [ "{{url}}" ], "path": [ "api", "s", "audioscrobbler", "2.0", "" ] } }, "response": [] }, { "name": "Authorize", "event": [ { "listen": "test", "script": { "exec": [ "var data = JSON.parse(responseBody);", "pm.environment.set(\"session_key\", data.session.key);", "tests[\"gotkey\"] = true;" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n\t\"method\":\"auth.getMobileSession\",\n\t\"authToken\":\"abc\",\n\t\"username\":\"someguy\",\n\t\"password\":\"{{api_key}}\"\n}" }, "url": { "raw": "{{url}}/apis/audioscrobbler/2.0/", "host": [ "{{url}}" ], "path": [ "apis", "audioscrobbler", "2.0", "" ] } }, "response": [] } ] }, { "name": "Scrobble Audioscrobbler Legacy", "item": [ { "name": "Authorize", "event": [ { "listen": "test", "script": { "exec": [ "var data = responseBody.split(\"\\n\");", "", "pm.environment.set(\"session_key\", data[1]);", "pm.environment.set(\"scrobble_url\", data[3]);" ], "type": "text/javascript" } }, { "listen": "prerequest", "script": { "exec": [ "apikey = pm.variables.get(\"api_key\");", "ts = pm.variables.get(\"data.timestamp1\");", "", "token = CryptoJS.MD5(CryptoJS.MD5(apikey) + ts).toString()", "pm.environment.set(\"legacy_token\", token);" ], "type": "text/javascript" } } ], "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{url}}/apis/audioscrobbler_legacy/?hs=true&t={{data.timestamp1}}&a={{legacy_token}}", "host": [ "{{url}}" ], "path": [ "apis", "audioscrobbler_legacy", "" ], "query": [ { "key": "hs", "value": "true" }, { "key": "t", "value": "{{data.timestamp1}}" }, { "key": "a", "value": "{{legacy_token}}" } ] } }, "response": [] }, { "name": "Scrobble", "request": { "method": "GET", "header": [], "url": { "raw": "{{scrobble_url}}?s={{session_key}}&a[0]={{data.artist1}}&t[0]={{data.title1}}&a[1]={{data.artist2}}&t[1]={{data.title2}}&i[0]={{data.timestamp1}}&i[1]={{data.timestamp2}}", "host": [ "{{scrobble_url}}" ], "query": [ { "key": "s", "value": "{{session_key}}" }, { "key": "a[0]", "value": "{{data.artist1}}" }, { "key": "t[0]", "value": "{{data.title1}}" }, { "key": "a[1]", "value": "{{data.artist2}}" }, { "key": "t[1]", "value": "{{data.title2}}" }, { "key": "i[0]", "value": "{{data.timestamp1}}" }, { "key": "i[1]", "value": "{{data.timestamp2}}" } ] } }, "response": [] } ] } ] }, { "name": "Metadata", "item": [ { "name": "Spotify", "item": [ { "name": "Authorize", "event": [ { "listen": "prerequest", "script": { "exec": [ "apiid = pm.collectionVariables.get(\"external.spotify.api_id\");", "apisecret = pm.collectionVariables.get(\"external.spotify.api_secret\");", "", "authb64 = new Buffer(apiid + ':' + apisecret).toString('base64');", "pm.environment.set(\"authb64\", authb64);", "" ], "type": "text/javascript" } }, { "listen": "test", "script": { "exec": [ "var data = JSON.parse(responseBody);", "pm.collectionVariables.set(\"external.spotify.access_token\", data.access_token);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Basic {{authb64}}", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "client_credentials", "type": "text" } ] }, "url": { "raw": "https://accounts.spotify.com/api/token", "protocol": "https", "host": [ "accounts", "spotify", "com" ], "path": [ "api", "token" ] } }, "response": [] }, { "name": "Track Info Old", "request": { "method": "GET", "header": [], "url": { "raw": "https://api.spotify.com/v1/search?type=track&access_token={{external.spotify.access_token}}&q=artist:{{data.artist3}} track:{{data.title3}}", "protocol": "https", "host": [ "api", "spotify", "com" ], "path": [ "v1", "search" ], "query": [ { "key": "type", "value": "track" }, { "key": "access_token", "value": "{{external.spotify.access_token}}" }, { "key": "q", "value": "artist:{{data.artist3}} track:{{data.title3}}" } ] } }, "response": [] }, { "name": "Track Info New", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{external.spotify.access_token}}", "type": "text" } ], "url": { "raw": "https://api.spotify.com/v1/search?type=track&q=artist:{{data.artist3}}%20track:{{data.title3}}", "protocol": "https", "host": [ "api", "spotify", "com" ], "path": [ "v1", "search" ], "query": [ { "key": "type", "value": "track" }, { "key": "q", "value": "artist:{{data.artist3}}%20track:{{data.title3}}" } ] } }, "response": [] } ] } ] }, { "name": "Scrobbleforward", "item": [ { "name": "Last.fm", "item": [ { "name": "Authorize", "request": { "method": "POST", "header": [], "body": { "mode": "urlencoded", "urlencoded": [] }, "url": { "raw": "https://ws.audioscrobbler.com/2.0/?method=auth.getMobileSession&username={{external.lastfm.username}}&password={{external.lastfm.password}}&api_key={{external.lastfm.api_key}}&api_sig=TODO", "protocol": "https", "host": [ "ws", "audioscrobbler", "com" ], "path": [ "2.0", "" ], "query": [ { "key": "method", "value": "auth.getMobileSession" }, { "key": "username", "value": "{{external.lastfm.username}}" }, { "key": "password", "value": "{{external.lastfm.password}}" }, { "key": "api_key", "value": "{{external.lastfm.api_key}}" }, { "key": "api_sig", "value": "TODO" } ] } }, "response": [] } ] } ] } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "var current_timestamp = Math.floor(Date.now() / 1000);", "pm.collectionVariables.set(\"data.timestamp1\", current_timestamp);", "pm.collectionVariables.set(\"data.timestamp2\", current_timestamp - 200);" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ], "variable": [ { "key": "url", "value": "http://localhost:42010" }, { "key": "api_key", "value": "localdevtestkey" }, { "key": "session_key", "value": "" }, { "key": "data.artist1", "value": "EXID ft. Jeremy Soule" }, { "key": "data.artist2", "value": "BLACKPINK ft. Tzuyu" }, { "key": "data.artist3", "value": "TWICE" }, { "key": "data.title1", "value": "Why is the Rum gone?" }, { "key": "data.title2", "value": "POP/STARS" }, { "key": "data.title3", "value": "One in a Million" }, { "key": "data.timestamp1", "value": "" }, { "key": "data.timestamp2", "value": "" }, { "key": "external.spotify.api_id", "value": "" }, { "key": "external.spotify.api_secret", "value": "" }, { "key": "external.spotify.access_token", "value": "" }, { "key": "external.lastfm.username", "value": "" }, { "key": "external.lastfm.password", "value": "" }, { "key": "external.lastfm.api_key", "value": "" }, { "key": "external.lastfm.secret", "value": "" } ] }