diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 10f30916..6b7b74c5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.2.0" + ".": "0.3.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 451539e4..31642603 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 266 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/onlyfansapi/onlyfansapi-bb6c9c76d967f92637fe23928eed8e2b72857607f7d633cd313edac2159251da.yml -openapi_spec_hash: 6ebbddf9d4240bc9dd02c40ba29fdbbc +configured_endpoints: 265 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/onlyfansapi/onlyfansapi-c7b4dde3eb431e3c636e2b6bc3a7bc40aaee037783648040876793082942a877.yml +openapi_spec_hash: b2059518c78b8c03fcbd4e1773ff4d77 config_hash: 397c91e15c0024f8b5bbed9b82c2348c diff --git a/CHANGELOG.md b/CHANGELOG.md index 04da6bab..14059a81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,172 @@ # Changelog +## 0.3.0 (2026-07-10) + +Full Changelog: [v0.2.0...v0.3.0](https://github.com/onlyfansapi/onlyfansapi-ruby/compare/v0.2.0...v0.3.0) + +### Features + +* **api:** api update ([ff8c5e7](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ff8c5e7bed7f552ce368788d9471d72417991033)) +* **api:** api update ([94750f9](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/94750f94f9d70896a2213fec7e8388567e643e9c)) +* **api:** api update ([f2a3127](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/f2a3127c85434fc2e77751463ef9d73471e34e4d)) +* **api:** api update ([76d16b1](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/76d16b130a3072d0615d93be71ae1db1894a2b28)) +* **api:** api update ([ed431c9](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ed431c998704451c5277e22bc812b1f160829bd1)) +* **api:** api update ([aebccd2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/aebccd2c8087a5d1b879eb8d75ddb8f841e60434)) +* **api:** api update ([6b993b2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/6b993b242662efbc4022f0dfb91236bead5d0035)) +* **api:** api update ([73fd391](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/73fd391cfc142ed62215f54bd76a4eab9eae7b41)) +* **api:** api update ([e0cf8c7](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e0cf8c7a93946fcf128ee84e1b8f482b8164406e)) +* **api:** api update ([f9fde9b](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/f9fde9b892d916dd74068d027d9ca92d8afa1b53)) +* **api:** api update ([9a3865f](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/9a3865fd11ffc888e19b217a1f989b25a2a7dfa3)) +* **api:** api update ([fcf9ce3](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fcf9ce3fd8510f972590eceba69476ffc9348b0b)) +* **api:** api update ([9669171](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/9669171ca1dceb16a94451e920ad7646d760ebcd)) +* **api:** api update ([d5a9a01](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/d5a9a01606243e53a56356b28c782cc455e81927)) +* **api:** api update ([07783b8](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/07783b8719954a5247dd2551b6178a24c448a368)) +* **api:** api update ([aabe3d1](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/aabe3d18807e96954f99f8ba496fc50b09dcb0df)) +* **api:** api update ([bbb3d7e](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bbb3d7eeb328812685f5bd474dd1c4bdf0a3550e)) +* **api:** api update ([d99bdb4](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/d99bdb41e142632341c094f2414a281dd423497f)) +* **api:** api update ([fa6e927](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fa6e927112af0aa47ececc8e179e3f69427f5cde)) +* **api:** api update ([835c1d9](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/835c1d93d56d5de88f4eb8eca5f64317ff2cb827)) +* **api:** api update ([2fe0bc4](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/2fe0bc441c0d15c8f1898b080b39d106262ac690)) +* **api:** api update ([7463e03](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/7463e0376d18b12f4fe47642ecfac678eba65b5d)) +* **api:** api update ([b024970](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/b02497013035917ca93747f83bf8214a835ea920)) +* **api:** api update ([49b77ca](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/49b77ca5557706407bfebdfed9b91ecba6205e47)) +* **api:** api update ([bb0b546](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bb0b54621d5d407755960c59cfba835790fd635a)) +* **api:** api update ([e5afcbb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e5afcbb1f5d8f9345c9b0ce3f9f80f3fd5faf942)) +* **api:** api update ([fe02d9a](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fe02d9aa1b11c9001f72652a319047962811edc9)) +* **api:** api update ([4887485](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/4887485ea5ecae37205c190541dc34e236d23aa1)) +* **api:** api update ([cac2205](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/cac2205b6397bf83d18beb2cebc9647d3cc4c73c)) +* **api:** api update ([8b85593](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8b855931eaaa0203f3a4f856d374f6deffb04572)) +* **api:** api update ([fa6edbb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fa6edbb7a3b31d7ba284ee8ed6f0876746e54378)) +* **api:** api update ([bd5ee20](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bd5ee2036ce8cfc7fbd5e094f8d6b7e5a507508f)) +* **api:** api update ([bd813b8](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bd813b81bb2eb2454e6693c358c7b8553985856d)) +* **api:** api update ([9a39701](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/9a39701aed0d5eb8ec2746f0fadb9726307846b3)) +* **api:** api update ([4b3ba42](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/4b3ba42ba7627adac95a82854908fc87b69c49aa)) +* **api:** api update ([ceb51e3](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ceb51e3de15bab28afd2d8d28947ff7db76c49e1)) +* **api:** api update ([71bb889](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/71bb889c1884cfcba4180c5884f000fc4f86007f)) +* **api:** api update ([4bb2501](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/4bb250140f0c50da053bc0cbe93209619dd7c742)) +* **api:** api update ([4aacd42](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/4aacd429c90ce3ea155067cd74cc706263dfe481)) +* **api:** api update ([9cc5830](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/9cc5830530ee0989885e1cefb8f62f449e38c6e1)) +* **api:** api update ([efc070e](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/efc070ede49e5048ca2bb01af6404d2460468e41)) +* **api:** api update ([adefdbb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/adefdbb4d2c0a218103e53293dbd077e29236e71)) +* **api:** api update ([7d736fb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/7d736fb8b036e9f6b35916336d50280f39a01fb2)) +* **api:** api update ([f2ffc9f](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/f2ffc9f141a5f7ad17ebb0dc2586c3ec13b77f1d)) +* **api:** api update ([a3b740c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/a3b740c68a31f197fe4839c309047b1c0c66f52f)) +* **api:** api update ([5dc1f11](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5dc1f11b2d23437a27566842154c4334acdd7255)) +* **api:** api update ([904ce14](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/904ce14d65bc4a4f4a2efe2f55727998a14eb4a7)) +* **api:** api update ([3ea3815](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/3ea3815da505af67505e951d5aa1c9e8f2b33eef)) +* **api:** api update ([b316fc2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/b316fc28da1796287d2de4f2817418797cd429b5)) +* **api:** api update ([73ee11e](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/73ee11e7416130e8fde6578d2e13a3f31fca394f)) +* **api:** api update ([2816bd9](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/2816bd9042782d0e87d8ed4b5e1c53ae0b6c1105)) +* **api:** api update ([62bdcce](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/62bdcce059b25f0223ac73c8e59447e4c9569d3e)) +* **api:** api update ([1796912](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/1796912bc6e3f02a9679f39e89cbf5b873698789)) +* **api:** api update ([2ac5d02](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/2ac5d0257aa77f81162a9b6b985e0aeea921af7e)) +* **api:** api update ([12d9ed0](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/12d9ed01f6ec5cfc6e182a6f2daf1661819c3872)) +* **api:** api update ([aa173c1](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/aa173c12474e49b384f4b859b15472ea26b18b77)) +* **api:** api update ([c064880](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/c0648803da083068a9408981683164dae4c075b4)) +* **api:** api update ([eea3446](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/eea3446f4dd3ac0460b9c28adaf7096b6929eef4)) +* **api:** api update ([fa7dd95](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fa7dd9525afcfb47d2392d8ed2d1a9e8c54d9f74)) +* **api:** api update ([a04abd3](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/a04abd35606f9a26fb7aaef591503e3d18e08021)) +* **api:** api update ([b77e834](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/b77e834efe93e0702ca2205c1f4fe6770cac29b5)) +* **api:** api update ([cb70c60](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/cb70c6073aa518cb392703f1737c045835b72bde)) +* **api:** api update ([510acf6](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/510acf66f4c45415ce672e51a8757b3378dff7b9)) +* **api:** api update ([483d562](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/483d5624fd08169594df3758b271a2ccd3787a82)) +* **api:** api update ([b432c6f](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/b432c6f659aecf997a0c436d14260a4fdf42fb92)) +* **api:** api update ([a1b9176](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/a1b9176340b9fccee74e4f568103f232b711e1cf)) +* **api:** api update ([7368b4a](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/7368b4a103288010ee1e722868e0bbe741adbe4b)) +* **api:** api update ([0caa488](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/0caa48853dd761a2196be08bb66ae16e25168703)) +* **api:** api update ([15349b5](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/15349b5e4d28799cde07242dcc7aa0bfff1f3551)) +* **api:** api update ([e954dcc](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e954dcc7b0b2ddc5de64d1c454eee5d9045f5c55)) +* **api:** api update ([41016bb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/41016bbac001d367b911714d128942268146fe38)) +* **api:** api update ([7dccd7f](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/7dccd7fade2dfc60ebc32bda765f47dab34fe937)) +* **api:** api update ([51c7d03](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/51c7d0333ca2a224aa3a285febf87344a5ee4771)) +* **api:** api update ([1444b9d](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/1444b9d3ef17f6118581442edb0b8dc977d3aa45)) +* **api:** api update ([3666b55](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/3666b55d4c637a84ebd8f7dfccf018c47a21c633)) +* **api:** api update ([4a76fb4](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/4a76fb46523e578050f25eec3e39e4920858ddf2)) +* **api:** api update ([95700ba](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/95700ba9b8062da278f41481d4e32872e1b375bf)) +* **api:** api update ([631cdca](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/631cdcaccb1509e37721e22b6639738e88048d42)) +* **api:** api update ([e388dfd](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e388dfdc11913a7a184e55f2c9fda7747e777838)) +* **api:** api update ([288d7df](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/288d7df96984c04d3e90d978f89861f7bce7298e)) +* **api:** api update ([312a493](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/312a4931091dfe855ca671479706c358d06d50dc)) +* **api:** api update ([a79815d](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/a79815d8755270eb036f689e948bb290e1290a3b)) +* **api:** api update ([3ab0702](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/3ab0702ddd8784a892bb494c1086b389c1dbb761)) +* **api:** api update ([faeb177](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/faeb177617a9657ad115fa6921295b44be91559e)) +* **api:** api update ([aa3b0e0](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/aa3b0e0b67d8c061d5f23b4b8b80192c12b81da8)) +* **api:** api update ([8a0b064](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8a0b06454d7aaaf729511822408cb2a6aec7e574)) +* **api:** api update ([868ff45](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/868ff45397688bddd05b63e919a34313a4e00fa7)) +* **api:** api update ([0ca203c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/0ca203cddcbd70ed612801b98732b9dbdc146902)) +* **api:** api update ([3e2c097](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/3e2c0971a978ea0fd4c4bbe2bb34fe90a90245d8)) +* **api:** api update ([2500623](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/250062394f515f9c0c800e1c384405c12f4773df)) +* **api:** api update ([ccfe0a2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ccfe0a20a613989f8cb1700c192e4d998bf4ed75)) +* **api:** api update ([289d92c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/289d92cd21fcf2dfcfabe0074aab2389d94fdcc9)) +* **api:** api update ([8d50090](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8d5009041f752ec6fef513c56dbff5dd3b472d56)) +* **api:** api update ([c5aaeeb](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/c5aaeeb3bca8d29c738e658794b7de433b3880c9)) +* **api:** api update ([55af6e0](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/55af6e09bb9fc08d8c7ae04029f806db98b31454)) +* **api:** api update ([0bc264c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/0bc264c9675e81c872ae335a20fa3959c52c0a25)) +* **api:** api update ([5b8546d](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5b8546db8c1dd3d0189df63d1d2a3105fcf0d529)) +* **api:** api update ([2fa3ee5](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/2fa3ee5d82f7f142453e4b21f7bd81b1153d743f)) +* **api:** api update ([01855d9](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/01855d9fea747fab23201a963196bc724b0973a7)) +* **api:** api update ([49cd504](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/49cd50438037f80bd3d33c5144275e5ca61fd7f0)) +* **api:** api update ([c8968ce](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/c8968ce7017f95eb2bf61ea551635673f427b5f9)) +* **api:** api update ([bb14b95](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bb14b95ad7fa1ec8ba14a481a805679afc4bd7c2)) +* **api:** api update ([d68116c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/d68116c02424b68258578ae75c452a93a05341a5)) +* **api:** api update ([bb8c8ab](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bb8c8abbd53b2b67b02bdd145db927afb8afe455)) +* **api:** api update ([94cf329](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/94cf32971cf9f6961183cc2df4d9cb1cb640c2af)) +* **api:** api update ([25b3558](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/25b3558217a4cd23d0130061437b16761750b404)) +* **api:** api update ([10e67de](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/10e67dec06d287f74e2a8d1a1eaaa999df091111)) +* **api:** api update ([92378ee](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/92378eeedf7d2299e35ebde8e38d11acfa1846e5)) +* **api:** api update ([fc76e11](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/fc76e116f4a8ff8a42c64217e56297e143fc9a6d)) +* **api:** api update ([d83ad90](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/d83ad901c84ef1bb99a9271656f6d3a62bc07d20)) +* **api:** api update ([afe6f6c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/afe6f6ca9fcdd6fe10f230bc482574e8e5ca08c4)) +* **api:** api update ([5c57dd0](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5c57dd071c1dbb90f89e94ba3f6ab4b27c8fb91c)) +* **api:** api update ([761278f](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/761278f775b3c1d22833d6e7eba373cbc570f9c4)) +* **api:** api update ([a3aa7f5](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/a3aa7f5c0d8d44b18cbe14556994b0bebe8ffd76)) +* **api:** api update ([bbbb279](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/bbbb279735b6571cd5c42071d30ee228f682f1ff)) +* **api:** api update ([ee42afe](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ee42afeb16f4f13c8e4c313c55b3cfa0434d0320)) +* **api:** api update ([5de9c43](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5de9c4329fa0d03dca63f8a0ac859f713d44922c)) +* **api:** api update ([01a46c6](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/01a46c667852034e7c9c1d8bd2aaa12561daf22a)) +* **api:** api update ([aaf95d7](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/aaf95d7f70056c8883a6a82683a64dff25461fa6)) +* **api:** api update ([e730bd1](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e730bd1e88ce9f61780bb277c091ccaf3205c0ba)) +* **api:** api update ([206d9b8](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/206d9b8a2272fb4c5e8b56e8751add0b4415f73a)) +* **api:** api update ([9c0416e](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/9c0416ee59b152e3429d2afe982bfb21a02b024a)) +* **api:** api update ([8b4369d](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8b4369de6244e1ea790e3648f5a1cb9c007cfd87)) +* **api:** api update ([ee2c0ca](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ee2c0caabb42258992f75a0e5c04fb498699502c)) +* **api:** api update ([60925a0](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/60925a0d7dcbad0b755c3a171726c594e1672d3c)) +* **api:** api update ([196af8c](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/196af8c90835f50cf58d9ddecf05fe861ba4259e)) +* **api:** api update ([59b720e](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/59b720e1a245ed006d711f49898c8d1a1607e246)) +* **api:** api update ([7f28b90](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/7f28b90d83758f6648f3ce511837e69ca023e868)) +* **api:** api update ([efdea3b](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/efdea3bfe743e552326a6588be1a309d0b6e06a4)) +* **api:** api update ([f22f8ef](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/f22f8ef08294702904f11cc7f546f96d9e1f90af)) +* **api:** api update ([e9db188](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/e9db18891e6a61cb89ebc76dec9867a360b0eca2)) +* **api:** api update ([0356380](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/0356380f15e0dce83f8307a2c4506412f0724a7e)) +* **api:** api update ([92899b2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/92899b2b377fcd1f28af038db76df0a8a8778500)) +* **api:** api update ([cbc9d88](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/cbc9d881ab00f39d5aef659cc5969109ee4ba338)) +* **api:** api update ([52a55ae](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/52a55ae65af5d2f72b732292d45c1f8b8e71ce10)) +* **api:** api update ([26475cd](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/26475cd17b9b4e66e01deefa99cc2d896dd8a4b2)) +* **api:** api update ([141f257](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/141f2576a165ae37876baf7b20268bfefd386823)) +* **api:** api update ([ab1c889](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ab1c889b7be046c7d401b9f6a44172690b95dc25)) +* **api:** api update ([5b2ac7b](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5b2ac7be16634612cfc763f5336621e6dbcf7051)) +* **api:** api update ([deff141](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/deff141d025e3cd6be0204da8ebe04b528fb6811)) +* **api:** api update ([192ab69](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/192ab6949cbdbb981f2facdfb47a578b0e85ad5e)) +* **api:** api update ([0a52056](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/0a52056aca870ec16c2d1075811032ee72ae60b8)) +* **api:** api update ([501f426](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/501f426c6048bf84d8c1f3ccf1cdf6642b1c1d39)) +* **api:** api update ([94c5355](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/94c535528bc788ed61e217a06ad7d95282b8ac28)) +* **api:** api update ([5e0dfb2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/5e0dfb2a6ddcddcd8511925e9950195a32f1db86)) +* **api:** api update ([231c428](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/231c4285eb57bb5e8cb2f6e8feb7919518c0bc88)) +* **api:** api update ([8e3f41a](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8e3f41a242c2ceb06cbd617f719f0eb532a62a44)) +* **api:** api update ([8b6b6a1](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/8b6b6a117f158496c90ed5f5a4502bff0a0d4941)) +* **api:** api update ([be61973](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/be61973f54b73a4b19b9153ea80bc89895b3c37c)) +* **api:** api update ([1980ebe](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/1980ebed9dc210db3f52601f5829504e71384ead)) + + +### Bug Fixes + +* **client:** send content-type header for requests with an omitted optional body ([ccbd8e2](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/ccbd8e2b2b41a3bc1e756e5176162612a26568e5)) + + +### Chores + +* **internal:** bound formatter parallelism to CPU count ([95c3909](https://github.com/onlyfansapi/onlyfansapi-ruby/commit/95c39091f40622f2fbf35ef778afb5bd8f89bf95)) + ## 0.2.0 (2026-05-25) Full Changelog: [v0.1.0...v0.2.0](https://github.com/onlyfansapi/onlyfansapi-ruby/compare/v0.1.0...v0.2.0) diff --git a/Gemfile.lock b/Gemfile.lock index 978c4204..7ecdf94c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - onlyfans (0.2.0) + onlyfans (0.3.0) cgi connection_pool diff --git a/README.md b/README.md index 5915e95f..62738c75 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "onlyfans", "~> 0.2.0" +gem "onlyfans", "~> 0.3.0" ``` diff --git a/Rakefile b/Rakefile index 6f9d357f..b20ecadd 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,6 @@ # frozen_string_literal: true +require "etc" require "pathname" require "securerandom" require "shellwords" @@ -37,7 +38,11 @@ multitask(:test) do ruby(*%w[-w -e], rb, verbose: false) { fail unless _1 } end -xargs = %w[xargs --no-run-if-empty --null --max-procs=0 --max-args=300 --] +# Cap parallelism at the CPU count. `--max-procs=0` spawns one process per +# 300-file batch with no upper bound; on large SDKs (thousands of files) that +# oversubscribes CPUs and stacks up rubocop processes, exhausting memory and +# slowing CI to the point of timing out. +xargs = %W[xargs --no-run-if-empty --null --max-procs=#{Etc.nprocessors} --max-args=300 --] ruby_opt = {"RUBYOPT" => [ENV["RUBYOPT"], "--encoding=UTF-8"].compact.join(" ")} filtered = ->(ext, dirs) do diff --git a/lib/onlyfans.rb b/lib/onlyfans.rb index 0a7092e0..5f5af3f9 100644 --- a/lib/onlyfans.rb +++ b/lib/onlyfans.rb @@ -245,7 +245,6 @@ require_relative "onlyfans/models/media/vault_upload_params" require_relative "onlyfans/models/media/vault_upload_response" require_relative "onlyfans/models/media_download_params" -require_relative "onlyfans/models/media_download_response" require_relative "onlyfans/models/media_scrape_params" require_relative "onlyfans/models/media_scrape_response" require_relative "onlyfans/models/media_upload_params" @@ -256,8 +255,6 @@ require_relative "onlyfans/models/me_get_top_percentage_response" require_relative "onlyfans/models/me_retrieve_params" require_relative "onlyfans/models/me_retrieve_response" -require_relative "onlyfans/models/message_attach_tags_params" -require_relative "onlyfans/models/message_attach_tags_response" require_relative "onlyfans/models/notification_get_counts_params" require_relative "onlyfans/models/notification_get_counts_response" require_relative "onlyfans/models/notification_list_params" diff --git a/lib/onlyfans/client.rb b/lib/onlyfans/client.rb index 1618961e..a8dc06d9 100644 --- a/lib/onlyfans/client.rb +++ b/lib/onlyfans/client.rb @@ -75,7 +75,7 @@ class Client < Onlyfans::Internal::Transport::BaseClient # @return [Onlyfans::Resources::Giphy] attr_reader :giphy - # APIs for managing tags on free trial links and tracking links + # APIs for managing tags on free trial links, tracking links, and Smart Links # @return [Onlyfans::Resources::LinkTags] attr_reader :link_tags diff --git a/lib/onlyfans/internal/transport/base_client.rb b/lib/onlyfans/internal/transport/base_client.rb index 17222ee9..bdbcd42e 100644 --- a/lib/onlyfans/internal/transport/base_client.rb +++ b/lib/onlyfans/internal/transport/base_client.rb @@ -306,7 +306,10 @@ def initialize( Onlyfans::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact) end - headers.delete("content-type") if body.nil? + # Generated methods always pass `req[:body]` for operations that define a + # request body, so only elide the content-type header when the operation + # has no body at all, not when an optional body param was omitted. + headers.delete("content-type") if body.nil? && !req.key?(:body) url = Onlyfans::Internal::Util.join_parsed_uri( @base_url_components, diff --git a/lib/onlyfans/models.rb b/lib/onlyfans/models.rb index 1c33fa03..489ebae5 100644 --- a/lib/onlyfans/models.rb +++ b/lib/onlyfans/models.rb @@ -163,8 +163,6 @@ module Onlyfans MeRetrieveParams = Onlyfans::Models::MeRetrieveParams - MessageAttachTagsParams = Onlyfans::Models::MessageAttachTagsParams - NotificationGetCountsParams = Onlyfans::Models::NotificationGetCountsParams NotificationListParams = Onlyfans::Models::NotificationListParams diff --git a/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb b/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb index ab60c137..acb381b0 100644 --- a/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb +++ b/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb @@ -4,49 +4,127 @@ module Onlyfans module Models module Analytics module Financial - class ProfitabilityGetHistoryResponseItem < Onlyfans::Internal::Type::BaseModel - # @!attribute gross_revenue + # @see Onlyfans::Resources::Analytics::Financial::Profitability#get_history + class ProfitabilityGetHistoryResponse < Onlyfans::Internal::Type::BaseModel + # @!attribute data # - # @return [Float, nil] - optional :gross_revenue, Float + # @return [Array, nil] + optional :data, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] } - # @!attribute margin - # - # @return [Float, nil] - optional :margin, Float + # @!method initialize(data: nil) + # @param data [Array] - # @!attribute month - # - # @return [Integer, nil] - optional :month, Integer + class Data < Onlyfans::Internal::Type::BaseModel + # @!attribute active_milestones + # + # @return [String, nil] + optional :active_milestones, String, api_name: :activeMilestones, nil?: true - # @!attribute net_revenue - # - # @return [Float, nil] - optional :net_revenue, Float + # @!attribute agency_earnings + # + # @return [String, nil] + optional :agency_earnings, String, api_name: :agencyEarnings - # @!attribute profit - # - # @return [Float, nil] - optional :profit, Float + # @!attribute commission_amount + # + # @return [String, nil] + optional :commission_amount, String, api_name: :commissionAmount - # @!attribute year - # - # @return [Integer, nil] - optional :year, Integer - - # @!method initialize(gross_revenue: nil, margin: nil, month: nil, net_revenue: nil, profit: nil, year: nil) - # @param gross_revenue [Float] - # @param margin [Float] - # @param month [Integer] - # @param net_revenue [Float] - # @param profit [Float] - # @param year [Integer] - end + # @!attribute commission_rate + # + # @return [String, nil] + optional :commission_rate, String, api_name: :commissionRate + + # @!attribute costs + # + # @return [Array, nil] + optional :costs, Onlyfans::Internal::Type::ArrayOf[Onlyfans::Internal::Type::Unknown] + + # @!attribute creator_name + # + # @return [String, nil] + optional :creator_name, String, api_name: :creatorName + + # @!attribute has_commission_for_period + # + # @return [Boolean, nil] + optional :has_commission_for_period, + Onlyfans::Internal::Type::Boolean, + api_name: :hasCommissionForPeriod + + # @!attribute has_costs_for_period + # + # @return [Boolean, nil] + optional :has_costs_for_period, Onlyfans::Internal::Type::Boolean, api_name: :hasCostsForPeriod - # @type [Onlyfans::Internal::Type::Converter] - ProfitabilityGetHistoryResponse = - Onlyfans::Internal::Type::ArrayOf[-> { Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem }] + # @!attribute margin_percentage + # + # @return [String, nil] + optional :margin_percentage, String, api_name: :marginPercentage + + # @!attribute month + # + # @return [Integer, nil] + optional :month, Integer + + # @!attribute only_fans_user_id + # + # @return [Integer, nil] + optional :only_fans_user_id, Integer, api_name: :onlyFansUserId + + # @!attribute profit + # + # @return [String, nil] + optional :profit, String + + # @!attribute projected_net + # + # @return [String, nil] + optional :projected_net, String, api_name: :projectedNet + + # @!attribute rate_periods + # + # @return [Array, nil] + optional :rate_periods, + Onlyfans::Internal::Type::ArrayOf[Onlyfans::Internal::Type::Unknown], + api_name: :ratePeriods + + # @!attribute referral_note + # + # @return [String, nil] + optional :referral_note, String, api_name: :referralNote, nil?: true + + # @!attribute total_costs + # + # @return [String, nil] + optional :total_costs, String, api_name: :totalCosts + + # @!attribute year + # + # @return [Integer, nil] + optional :year, Integer + + # @!method initialize(active_milestones: nil, agency_earnings: nil, commission_amount: nil, commission_rate: nil, costs: nil, creator_name: nil, has_commission_for_period: nil, has_costs_for_period: nil, margin_percentage: nil, month: nil, only_fans_user_id: nil, profit: nil, projected_net: nil, rate_periods: nil, referral_note: nil, total_costs: nil, year: nil) + # @param active_milestones [String, nil] + # @param agency_earnings [String] + # @param commission_amount [String] + # @param commission_rate [String] + # @param costs [Array] + # @param creator_name [String] + # @param has_commission_for_period [Boolean] + # @param has_costs_for_period [Boolean] + # @param margin_percentage [String] + # @param month [Integer] + # @param only_fans_user_id [Integer] + # @param profit [String] + # @param projected_net [String] + # @param rate_periods [Array] + # @param referral_note [String, nil] + # @param total_costs [String] + # @param year [Integer] + end + end end end end diff --git a/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb b/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb index 6dafcc8e..1083fed5 100644 --- a/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb +++ b/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb @@ -4,61 +4,127 @@ module Onlyfans module Models module Analytics module Financial - class ProfitabilityGetProfitabilityResponseItem < Onlyfans::Internal::Type::BaseModel - # @!attribute commission + # @see Onlyfans::Resources::Analytics::Financial::Profitability#get_profitability + class ProfitabilityGetProfitabilityResponse < Onlyfans::Internal::Type::BaseModel + # @!attribute data # - # @return [Float, nil] - optional :commission, Float + # @return [Array, nil] + optional :data, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] } - # @!attribute creator_id - # - # @return [Integer, nil] - optional :creator_id, Integer + # @!method initialize(data: nil) + # @param data [Array] - # @!attribute gross_revenue - # - # @return [Float, nil] - optional :gross_revenue, Float + class Data < Onlyfans::Internal::Type::BaseModel + # @!attribute active_milestones + # + # @return [String, nil] + optional :active_milestones, String, api_name: :activeMilestones, nil?: true - # @!attribute margin - # - # @return [Float, nil] - optional :margin, Float + # @!attribute agency_earnings + # + # @return [String, nil] + optional :agency_earnings, String, api_name: :agencyEarnings - # @!attribute name - # - # @return [String, nil] - optional :name, String + # @!attribute commission_amount + # + # @return [String, nil] + optional :commission_amount, String, api_name: :commissionAmount - # @!attribute net_revenue - # - # @return [Float, nil] - optional :net_revenue, Float + # @!attribute commission_rate + # + # @return [String, nil] + optional :commission_rate, String, api_name: :commissionRate - # @!attribute profit - # - # @return [Float, nil] - optional :profit, Float + # @!attribute costs + # + # @return [Array, nil] + optional :costs, Onlyfans::Internal::Type::ArrayOf[Onlyfans::Internal::Type::Unknown] - # @!attribute total_costs - # - # @return [Float, nil] - optional :total_costs, Float - - # @!method initialize(commission: nil, creator_id: nil, gross_revenue: nil, margin: nil, name: nil, net_revenue: nil, profit: nil, total_costs: nil) - # @param commission [Float] - # @param creator_id [Integer] - # @param gross_revenue [Float] - # @param margin [Float] - # @param name [String] - # @param net_revenue [Float] - # @param profit [Float] - # @param total_costs [Float] - end + # @!attribute creator_name + # + # @return [String, nil] + optional :creator_name, String, api_name: :creatorName + + # @!attribute has_commission_for_period + # + # @return [Boolean, nil] + optional :has_commission_for_period, + Onlyfans::Internal::Type::Boolean, + api_name: :hasCommissionForPeriod + + # @!attribute has_costs_for_period + # + # @return [Boolean, nil] + optional :has_costs_for_period, Onlyfans::Internal::Type::Boolean, api_name: :hasCostsForPeriod - # @type [Onlyfans::Internal::Type::Converter] - ProfitabilityGetProfitabilityResponse = - Onlyfans::Internal::Type::ArrayOf[-> { Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem }] + # @!attribute margin_percentage + # + # @return [String, nil] + optional :margin_percentage, String, api_name: :marginPercentage + + # @!attribute month + # + # @return [Integer, nil] + optional :month, Integer + + # @!attribute only_fans_user_id + # + # @return [Integer, nil] + optional :only_fans_user_id, Integer, api_name: :onlyFansUserId + + # @!attribute profit + # + # @return [String, nil] + optional :profit, String + + # @!attribute projected_net + # + # @return [String, nil] + optional :projected_net, String, api_name: :projectedNet + + # @!attribute rate_periods + # + # @return [Array, nil] + optional :rate_periods, + Onlyfans::Internal::Type::ArrayOf[Onlyfans::Internal::Type::Unknown], + api_name: :ratePeriods + + # @!attribute referral_note + # + # @return [String, nil] + optional :referral_note, String, api_name: :referralNote, nil?: true + + # @!attribute total_costs + # + # @return [String, nil] + optional :total_costs, String, api_name: :totalCosts + + # @!attribute year + # + # @return [Integer, nil] + optional :year, Integer + + # @!method initialize(active_milestones: nil, agency_earnings: nil, commission_amount: nil, commission_rate: nil, costs: nil, creator_name: nil, has_commission_for_period: nil, has_costs_for_period: nil, margin_percentage: nil, month: nil, only_fans_user_id: nil, profit: nil, projected_net: nil, rate_periods: nil, referral_note: nil, total_costs: nil, year: nil) + # @param active_milestones [String, nil] + # @param agency_earnings [String] + # @param commission_amount [String] + # @param commission_rate [String] + # @param costs [Array] + # @param creator_name [String] + # @param has_commission_for_period [Boolean] + # @param has_costs_for_period [Boolean] + # @param margin_percentage [String] + # @param month [Integer] + # @param only_fans_user_id [Integer] + # @param profit [String] + # @param projected_net [String] + # @param rate_periods [Array] + # @param referral_note [String, nil] + # @param total_costs [String] + # @param year [Integer] + end + end end end end diff --git a/lib/onlyfans/models/authenticate_start_params.rb b/lib/onlyfans/models/authenticate_start_params.rb index 1de8bccc..2c7fd2f1 100644 --- a/lib/onlyfans/models/authenticate_start_params.rb +++ b/lib/onlyfans/models/authenticate_start_params.rb @@ -169,6 +169,7 @@ module ProxyCountry US = :us UK = :uk + GB = :gb # @!method self.values # @return [Array] diff --git a/lib/onlyfans/models/client_session_create_params.rb b/lib/onlyfans/models/client_session_create_params.rb index 67396739..261f026f 100644 --- a/lib/onlyfans/models/client_session_create_params.rb +++ b/lib/onlyfans/models/client_session_create_params.rb @@ -38,6 +38,7 @@ module ProxyCountry US = :us UK = :uk + GB = :gb # @!method self.values # @return [Array] diff --git a/lib/onlyfans/models/data_export_create_params.rb b/lib/onlyfans/models/data_export_create_params.rb index 4b5440c5..d5fa4397 100644 --- a/lib/onlyfans/models/data_export_create_params.rb +++ b/lib/onlyfans/models/data_export_create_params.rb @@ -66,11 +66,12 @@ class DataExportCreateParams < Onlyfans::Internal::Type::BaseModel # (optional, USD), `maxSubscribePrice` (optional, USD), `location` (optional), # `minPostsCount` (optional, minimum posts), `minPhotosCount` (optional, minimum # photos), `minVideosCount` (optional, minimum videos), `minSubscribersCount` - # (optional, minimum subscribers), `minJoinDate` (optional, ISO 8601 date), - # `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 - # date, profile added to DB after), `createdAtTo` (optional, ISO 8601 date, - # profile added to DB before), `instagram` (optional), `twitter` (optional), - # `tiktok` (optional), `maxResults` (optional, limit results). + # (optional, minimum subscribers), `maxSubscribersCount` (optional, maximum + # subscribers), `minJoinDate` (optional, ISO 8601 date), `minLastSeenAt` + # (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 date, profile + # added to DB after), `createdAtTo` (optional, ISO 8601 date, profile added to DB + # before), `instagram` (optional), `twitter` (optional), `tiktok` (optional), + # `maxResults` (optional, limit results). # # @return [Hash{Symbol=>Object}, nil] optional :options, Onlyfans::Internal::Type::HashOf[Onlyfans::Internal::Type::Unknown] diff --git a/lib/onlyfans/models/data_export_list_response.rb b/lib/onlyfans/models/data_export_list_response.rb index 258a241c..ed07f44e 100644 --- a/lib/onlyfans/models/data_export_list_response.rb +++ b/lib/onlyfans/models/data_export_list_response.rb @@ -185,6 +185,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :failed_at, String, nil?: true + # @!attribute failed_downloads + # + # @return [Integer, nil] + optional :failed_downloads, Integer + # @!attribute failed_reason # # @return [String, nil] @@ -225,7 +230,7 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :type, String - # @!method initialize(id: nil, accounts: nil, completed_at: nil, created_at: nil, credit_cost: nil, download_url: nil, download_url_expires_at: nil, end_date: nil, export_columns: nil, failed_at: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, rows_processed: nil, start_date: nil, status: nil, total_rows: nil, type: nil) + # @!method initialize(id: nil, accounts: nil, completed_at: nil, created_at: nil, credit_cost: nil, download_url: nil, download_url_expires_at: nil, end_date: nil, export_columns: nil, failed_at: nil, failed_downloads: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, rows_processed: nil, start_date: nil, status: nil, total_rows: nil, type: nil) # @param id [String] # @param accounts [Array] # @param completed_at [String] @@ -236,6 +241,7 @@ class Data < Onlyfans::Internal::Type::BaseModel # @param end_date [String] # @param export_columns [Array] # @param failed_at [String, nil] + # @param failed_downloads [Integer] # @param failed_reason [String, nil] # @param file_type [String] # @param progress_percentage [Integer] diff --git a/lib/onlyfans/models/data_export_retrieve_response.rb b/lib/onlyfans/models/data_export_retrieve_response.rb index bd45187f..8b36bcc8 100644 --- a/lib/onlyfans/models/data_export_retrieve_response.rb +++ b/lib/onlyfans/models/data_export_retrieve_response.rb @@ -159,6 +159,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :failed_at, String, nil?: true + # @!attribute failed_downloads + # + # @return [Integer, nil] + optional :failed_downloads, Integer + # @!attribute failed_reason # # @return [String, nil] @@ -199,7 +204,7 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :type, String - # @!method initialize(id: nil, accounts: nil, completed_at: nil, created_at: nil, credit_cost: nil, end_date: nil, export_columns: nil, failed_at: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, rows_processed: nil, start_date: nil, status: nil, total_rows: nil, type: nil) + # @!method initialize(id: nil, accounts: nil, completed_at: nil, created_at: nil, credit_cost: nil, end_date: nil, export_columns: nil, failed_at: nil, failed_downloads: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, rows_processed: nil, start_date: nil, status: nil, total_rows: nil, type: nil) # @param id [String] # @param accounts [Array] # @param completed_at [String, nil] @@ -208,6 +213,7 @@ class Data < Onlyfans::Internal::Type::BaseModel # @param end_date [String] # @param export_columns [Array] # @param failed_at [String, nil] + # @param failed_downloads [Integer] # @param failed_reason [String, nil] # @param file_type [String] # @param progress_percentage [Integer] diff --git a/lib/onlyfans/models/link_tag_list_params.rb b/lib/onlyfans/models/link_tag_list_params.rb index edf063d7..9cbb2df3 100644 --- a/lib/onlyfans/models/link_tag_list_params.rb +++ b/lib/onlyfans/models/link_tag_list_params.rb @@ -8,22 +8,23 @@ class LinkTagListParams < Onlyfans::Internal::Type::BaseModel include Onlyfans::Internal::Type::RequestParameters # @!attribute type - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. # # @return [Symbol, Onlyfans::Models::LinkTagListParams::Type, nil] optional :type, enum: -> { Onlyfans::LinkTagListParams::Type } # @!method initialize(type: nil, request_options: {}) - # @param type [Symbol, Onlyfans::Models::LinkTagListParams::Type] Filter by link type. If not provided, returns tags for both types. + # @param type [Symbol, Onlyfans::Models::LinkTagListParams::Type] Filter by link type. If not provided, returns tags for all types. # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. module Type extend Onlyfans::Internal::Type::Enum TRIAL_LINKS = :trial_links TRACKING_LINKS = :tracking_links + SMART_LINKS = :smart_links # @!method self.values # @return [Array] diff --git a/lib/onlyfans/models/media/vault/list_update_params.rb b/lib/onlyfans/models/media/vault/list_update_params.rb index 2b345c47..fc421292 100644 --- a/lib/onlyfans/models/media/vault/list_update_params.rb +++ b/lib/onlyfans/models/media/vault/list_update_params.rb @@ -19,9 +19,19 @@ class ListUpdateParams < Onlyfans::Internal::Type::BaseModel # @return [String] required :list_id, String - # @!method initialize(account:, list_id:, request_options: {}) + # @!attribute name + # The new name for the vault list. Must not be greater than 255 characters. + # + # @return [String] + required :name, String + + # @!method initialize(account:, list_id:, name:, request_options: {}) # @param account [String] + # # @param list_id [String] + # + # @param name [String] The new name for the vault list. Must not be greater than 255 characters. + # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] end end diff --git a/lib/onlyfans/models/media_download_response.rb b/lib/onlyfans/models/media_download_response.rb deleted file mode 100644 index 459d0eac..00000000 --- a/lib/onlyfans/models/media_download_response.rb +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -module Onlyfans - module Models - MediaDownloadResponse = String - end -end diff --git a/lib/onlyfans/models/message_attach_tags_params.rb b/lib/onlyfans/models/message_attach_tags_params.rb deleted file mode 100644 index 333983de..00000000 --- a/lib/onlyfans/models/message_attach_tags_params.rb +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -module Onlyfans - module Models - # @see Onlyfans::Resources::Messages#attach_tags - class MessageAttachTagsParams < Onlyfans::Internal::Type::BaseModel - extend Onlyfans::Internal::Type::RequestParameters::Converter - include Onlyfans::Internal::Type::RequestParameters - - # @!attribute account - # - # @return [String] - required :account, String - - # @!attribute message_id - # - # @return [String] - required :message_id, String - - # @!attribute rf_guest - # Array of OnlyFans Release Form Guest IDs to tag in your message - # - # @return [String, nil] - optional :rf_guest, String, api_name: :rfGuest - - # @!attribute rf_partner - # Array of OnlyFans Release Form Partners IDs to tag in your message - # - # @return [String, nil] - optional :rf_partner, String, api_name: :rfPartner - - # @!attribute rf_tag - # Array of OnlyFans Creator User IDs to tag in your message - # - # @return [String, nil] - optional :rf_tag, String, api_name: :rfTag - - # @!method initialize(account:, message_id:, rf_guest: nil, rf_partner: nil, rf_tag: nil, request_options: {}) - # @param account [String] - # - # @param message_id [String] - # - # @param rf_guest [String] Array of OnlyFans Release Form Guest IDs to tag in your message - # - # @param rf_partner [String] Array of OnlyFans Release Form Partners IDs to tag in your message - # - # @param rf_tag [String] Array of OnlyFans Creator User IDs to tag in your message - # - # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] - end - end -end diff --git a/lib/onlyfans/models/message_attach_tags_response.rb b/lib/onlyfans/models/message_attach_tags_response.rb deleted file mode 100644 index e55f6a07..00000000 --- a/lib/onlyfans/models/message_attach_tags_response.rb +++ /dev/null @@ -1,125 +0,0 @@ -# frozen_string_literal: true - -module Onlyfans - module Models - # @see Onlyfans::Resources::Messages#attach_tags - class MessageAttachTagsResponse < Onlyfans::Internal::Type::BaseModel - # @!attribute _meta - # - # @return [Onlyfans::Models::MessageAttachTagsResponse::Meta, nil] - optional :_meta, -> { Onlyfans::Models::MessageAttachTagsResponse::Meta } - - # @!attribute data - # - # @return [Onlyfans::Models::MessageAttachTagsResponse::Data, nil] - optional :data, -> { Onlyfans::Models::MessageAttachTagsResponse::Data } - - # @!method initialize(_meta: nil, data: nil) - # @param _meta [Onlyfans::Models::MessageAttachTagsResponse::Meta] - # @param data [Onlyfans::Models::MessageAttachTagsResponse::Data] - - # @see Onlyfans::Models::MessageAttachTagsResponse#_meta - class Meta < Onlyfans::Internal::Type::BaseModel - # @!attribute _cache - # - # @return [Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, nil] - optional :_cache, -> { Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache } - - # @!attribute _credits - # - # @return [Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, nil] - optional :_credits, -> { Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits } - - # @!attribute _rate_limits - # - # @return [Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits, nil] - optional :_rate_limits, -> { Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits } - - # @!method initialize(_cache: nil, _credits: nil, _rate_limits: nil) - # @param _cache [Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache] - # @param _credits [Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits] - # @param _rate_limits [Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits] - - # @see Onlyfans::Models::MessageAttachTagsResponse::Meta#_cache - class Cache < Onlyfans::Internal::Type::BaseModel - # @!attribute is_cached - # - # @return [Boolean, nil] - optional :is_cached, Onlyfans::Internal::Type::Boolean - - # @!attribute note - # - # @return [String, nil] - optional :note, String - - # @!method initialize(is_cached: nil, note: nil) - # @param is_cached [Boolean] - # @param note [String] - end - - # @see Onlyfans::Models::MessageAttachTagsResponse::Meta#_credits - class Credits < Onlyfans::Internal::Type::BaseModel - # @!attribute balance - # - # @return [Integer, nil] - optional :balance, Integer - - # @!attribute note - # - # @return [String, nil] - optional :note, String - - # @!attribute used - # - # @return [Integer, nil] - optional :used, Integer - - # @!method initialize(balance: nil, note: nil, used: nil) - # @param balance [Integer] - # @param note [String] - # @param used [Integer] - end - - # @see Onlyfans::Models::MessageAttachTagsResponse::Meta#_rate_limits - class RateLimits < Onlyfans::Internal::Type::BaseModel - # @!attribute limit_day - # - # @return [Integer, nil] - optional :limit_day, Integer - - # @!attribute limit_minute - # - # @return [Integer, nil] - optional :limit_minute, Integer - - # @!attribute remaining_day - # - # @return [Integer, nil] - optional :remaining_day, Integer - - # @!attribute remaining_minute - # - # @return [Integer, nil] - optional :remaining_minute, Integer - - # @!method initialize(limit_day: nil, limit_minute: nil, remaining_day: nil, remaining_minute: nil) - # @param limit_day [Integer] - # @param limit_minute [Integer] - # @param remaining_day [Integer] - # @param remaining_minute [Integer] - end - end - - # @see Onlyfans::Models::MessageAttachTagsResponse#data - class Data < Onlyfans::Internal::Type::BaseModel - # @!attribute success - # - # @return [Boolean, nil] - optional :success, Onlyfans::Internal::Type::Boolean - - # @!method initialize(success: nil) - # @param success [Boolean] - end - end - end -end diff --git a/lib/onlyfans/models/release_form_list_taggable_users_response.rb b/lib/onlyfans/models/release_form_list_taggable_users_response.rb index e1ace5ff..2eb473b3 100644 --- a/lib/onlyfans/models/release_form_list_taggable_users_response.rb +++ b/lib/onlyfans/models/release_form_list_taggable_users_response.rb @@ -123,25 +123,25 @@ class Pagination < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :next_page, String - # @!method initialize(next_page: nil) + # @!attribute notice + # + # @return [String, nil] + optional :notice, String + + # @!method initialize(next_page: nil, notice: nil) # @param next_page [String] + # @param notice [String] end # @see Onlyfans::Models::ReleaseFormListTaggableUsersResponse#data class Data < Onlyfans::Internal::Type::BaseModel - # @!attribute has_more - # - # @return [Boolean, nil] - optional :has_more, Onlyfans::Internal::Type::Boolean, api_name: :hasMore - # @!attribute items # # @return [Array, nil] optional :items, -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item] } - # @!method initialize(has_more: nil, items: nil) - # @param has_more [Boolean] + # @!method initialize(items: nil) # @param items [Array] class Item < Onlyfans::Internal::Type::BaseModel diff --git a/lib/onlyfans/models/smart_link_list_fans_params.rb b/lib/onlyfans/models/smart_link_list_fans_params.rb index 61185c8b..caae298b 100644 --- a/lib/onlyfans/models/smart_link_list_fans_params.rb +++ b/lib/onlyfans/models/smart_link_list_fans_params.rb @@ -48,13 +48,29 @@ class SmartLinkListFansParams < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :offset, Integer + # @!attribute previously_subscribed + # Optional - Filter to returning subscribers (fans previously subscribed before + # this subscription) + # + # @return [Boolean, nil] + optional :previously_subscribed, Onlyfans::Internal::Type::Boolean + # @!attribute sort # Optional sort field. Default `-revenue_net` # # @return [Symbol, Onlyfans::Models::SmartLinkListFansParams::Sort, nil] optional :sort, enum: -> { Onlyfans::SmartLinkListFansParams::Sort } - # @!method initialize(smart_link_id:, has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, sort: nil, request_options: {}) + # @!attribute subscribed_using_promo + # Optional - Filter to fans who subscribed via a promotion/offer + # + # @return [Boolean, nil] + optional :subscribed_using_promo, Onlyfans::Internal::Type::Boolean + + # @!method initialize(smart_link_id:, has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, previously_subscribed: nil, sort: nil, subscribed_using_promo: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkListFansParams} for more details. + # # @param smart_link_id [String] # # @param has_messages [Boolean] Optional - Filter to fans with or without fan-sent messages @@ -69,8 +85,12 @@ class SmartLinkListFansParams < Onlyfans::Internal::Type::BaseModel # # @param offset [Integer] Offset for pagination. Default `0` # + # @param previously_subscribed [Boolean] Optional - Filter to returning subscribers (fans previously subscribed before th + # # @param sort [Symbol, Onlyfans::Models::SmartLinkListFansParams::Sort] Optional sort field. Default `-revenue_net` # + # @param subscribed_using_promo [Boolean] Optional - Filter to fans who subscribed via a promotion/offer + # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] # Optional sort field. Default `-revenue_net` diff --git a/lib/onlyfans/models/smart_link_list_fans_response.rb b/lib/onlyfans/models/smart_link_list_fans_response.rb index 60791157..056cb3f4 100644 --- a/lib/onlyfans/models/smart_link_list_fans_response.rb +++ b/lib/onlyfans/models/smart_link_list_fans_response.rb @@ -130,19 +130,31 @@ class Filters < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :offset, Integer + # @!attribute previously_subscribed + # + # @return [String, nil] + optional :previously_subscribed, String, nil?: true + # @!attribute sort # # @return [String, nil] optional :sort, String - # @!method initialize(has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, sort: nil) + # @!attribute subscribed_using_promo + # + # @return [String, nil] + optional :subscribed_using_promo, String, nil?: true + + # @!method initialize(has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, previously_subscribed: nil, sort: nil, subscribed_using_promo: nil) # @param has_messages [String, nil] # @param limit [Integer] # @param min_messages_sent_by_fan [String, nil] # @param min_revenue_net [String, nil] # @param min_tips_net [String, nil] # @param offset [Integer] + # @param previously_subscribed [String, nil] # @param sort [String] + # @param subscribed_using_promo [String, nil] end class Row < Onlyfans::Internal::Type::BaseModel @@ -196,6 +208,12 @@ class Row < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :revenue_net, Integer + # @!attribute subscription_insights + # + # @return [Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, nil] + optional :subscription_insights, + -> { Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights } + # @!attribute tips_net # # @return [Integer, nil] @@ -206,7 +224,7 @@ class Row < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :username, String - # @!method initialize(avatar_url: nil, click_id: nil, conversion_id: nil, converted_at: nil, external_click_id: nil, fan_id: nil, messages_sent_by_fan: nil, name: nil, onlyfans_id: nil, revenue_net: nil, tips_net: nil, username: nil) + # @!method initialize(avatar_url: nil, click_id: nil, conversion_id: nil, converted_at: nil, external_click_id: nil, fan_id: nil, messages_sent_by_fan: nil, name: nil, onlyfans_id: nil, revenue_net: nil, subscription_insights: nil, tips_net: nil, username: nil) # @param avatar_url [String] # @param click_id [String] # @param conversion_id [Integer] @@ -217,8 +235,80 @@ class Row < Onlyfans::Internal::Type::BaseModel # @param name [String] # @param onlyfans_id [String] # @param revenue_net [Integer] + # @param subscription_insights [Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights] # @param tips_net [Integer] # @param username [String] + + # @see Onlyfans::Models::SmartLinkListFansResponse::Data::Row#subscription_insights + class SubscriptionInsights < Onlyfans::Internal::Type::BaseModel + # @!attribute current_subscription + # + # @return [Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, nil] + optional :current_subscription, + -> { Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription } + + # @!attribute current_subscription_from_smart_link + # + # @return [Boolean, nil] + optional :current_subscription_from_smart_link, Onlyfans::Internal::Type::Boolean + + # @!attribute has_subscription_data + # + # @return [Boolean, nil] + optional :has_subscription_data, Onlyfans::Internal::Type::Boolean + + # @!attribute previously_subscribed + # + # @return [Boolean, nil] + optional :previously_subscribed, Onlyfans::Internal::Type::Boolean + + # @!attribute subscribed_using_promo + # + # @return [Boolean, nil] + optional :subscribed_using_promo, Onlyfans::Internal::Type::Boolean + + # @!method initialize(current_subscription: nil, current_subscription_from_smart_link: nil, has_subscription_data: nil, previously_subscribed: nil, subscribed_using_promo: nil) + # @param current_subscription [Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription] + # @param current_subscription_from_smart_link [Boolean] + # @param has_subscription_data [Boolean] + # @param previously_subscribed [Boolean] + # @param subscribed_using_promo [Boolean] + + # @see Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights#current_subscription + class CurrentSubscription < Onlyfans::Internal::Type::BaseModel + # @!attribute action + # + # @return [String, nil] + optional :action, String + + # @!attribute is_free + # + # @return [Boolean, nil] + optional :is_free, Onlyfans::Internal::Type::Boolean + + # @!attribute price + # + # @return [Integer, nil] + optional :price, Integer + + # @!attribute regular_price + # + # @return [Integer, nil] + optional :regular_price, Integer + + # @!attribute type + # + # @return [String, nil] + optional :type, String + + # @!method initialize(action: nil, is_free: nil, price: nil, regular_price: nil, type: nil) + # @param action [String] + # @param is_free [Boolean] + # @param price [Integer] + # @param regular_price [Integer] + # @param type [String] + end + end end # @see Onlyfans::Models::SmartLinkListFansResponse::Data#summary diff --git a/lib/onlyfans/models/smart_link_list_params.rb b/lib/onlyfans/models/smart_link_list_params.rb index bba47b14..9a22493d 100644 --- a/lib/onlyfans/models/smart_link_list_params.rb +++ b/lib/onlyfans/models/smart_link_list_params.rb @@ -13,6 +13,11 @@ class SmartLinkListParams < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :account_ids, String, nil?: true + # @!attribute filter + # + # @return [Onlyfans::Models::SmartLinkListParams::Filter, nil] + optional :filter, -> { Onlyfans::SmartLinkListParams::Filter } + # @!attribute limit # The number of Smart Links to return. Default `50`. Must be at least 1. Must not # be greater than 1000. @@ -21,7 +26,7 @@ class SmartLinkListParams < Onlyfans::Internal::Type::BaseModel optional :limit, Integer # @!attribute meta_pixel_ids - # Comma-separated Meta Pixel IDs to include. + # Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. # # @return [String, nil] optional :meta_pixel_ids, String, nil?: true @@ -38,21 +43,42 @@ class SmartLinkListParams < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :offset, Integer - # @!method initialize(account_ids: nil, limit: nil, meta_pixel_ids: nil, name: nil, offset: nil, request_options: {}) + # @!attribute pixel_ids + # Comma-separated ad platform Pixel IDs to include. + # + # @return [String, nil] + optional :pixel_ids, String, nil?: true + + # @!method initialize(account_ids: nil, filter: nil, limit: nil, meta_pixel_ids: nil, name: nil, offset: nil, pixel_ids: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Onlyfans::Models::SmartLinkListParams} for more details. # # @param account_ids [String, nil] Comma-separated account prefixed IDs to include. # + # @param filter [Onlyfans::Models::SmartLinkListParams::Filter] + # # @param limit [Integer] The number of Smart Links to return. Default `50`. Must be at least 1. Must not # - # @param meta_pixel_ids [String, nil] Comma-separated Meta Pixel IDs to include. + # @param meta_pixel_ids [String, nil] Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. # # @param name [String, nil] Filter Smart Links by name. Must not be greater than 255 characters. # # @param offset [Integer] The offset used for pagination. Default `0`. Must be at least 0. # + # @param pixel_ids [String, nil] Comma-separated ad platform Pixel IDs to include. + # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] + + class Filter < Onlyfans::Internal::Type::BaseModel + # @!attribute tags + # Must not be greater than 50 characters. + # + # @return [Array, nil] + optional :tags, Onlyfans::Internal::Type::ArrayOf[String] + + # @!method initialize(tags: nil) + # @param tags [Array] Must not be greater than 50 characters. + end end end end diff --git a/lib/onlyfans/models/smart_link_postback_create_params.rb b/lib/onlyfans/models/smart_link_postback_create_params.rb index 2ffaab12..387e4aa3 100644 --- a/lib/onlyfans/models/smart_link_postback_create_params.rb +++ b/lib/onlyfans/models/smart_link_postback_create_params.rb @@ -21,19 +21,39 @@ class SmartLinkPostbackCreateParams < Onlyfans::Internal::Type::BaseModel required :smart_link_scope, enum: -> { Onlyfans::SmartLinkPostbackCreateParams::SmartLinkScope } # @!attribute url - # The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and - # `{ttclid}` are replaced when the postback is dispatched. + # The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, + # `{gclid}`, and `{ttclid}` are replaced when the postback is dispatched. # # @return [String] required :url, String + # @!attribute body + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + # + # @return [String, nil] + optional :body, String + + # @!attribute headers + # Optional request headers. Header values may include postback variables. + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::SmartLinkPostbackCreateParams::Header] } + + # @!attribute http_method + # HTTP method used for the postback request. Defaults to `GET` when omitted. + # + # @return [Symbol, Onlyfans::Models::SmartLinkPostbackCreateParams::HTTPMethod, nil] + optional :http_method, enum: -> { Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod } + # @!attribute smart_link_ids # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # # @return [Array, nil] optional :smart_link_ids, Onlyfans::Internal::Type::ArrayOf[String] - # @!method initialize(conversion_types:, smart_link_scope:, url:, smart_link_ids: nil, request_options: {}) + # @!method initialize(conversion_types:, smart_link_scope:, url:, body: nil, headers: nil, http_method: nil, smart_link_ids: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Onlyfans::Models::SmartLinkPostbackCreateParams} for more details. # @@ -41,7 +61,13 @@ class SmartLinkPostbackCreateParams < Onlyfans::Internal::Type::BaseModel # # @param smart_link_scope [Symbol, Onlyfans::Models::SmartLinkPostbackCreateParams::SmartLinkScope] `global` fires for all Smart Links. `campaign_specific` fires only for selected # - # @param url [String] The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and + # @param url [String] The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, `{gcli + # + # @param body [String] Optional request body template for POST postbacks. Variables are replaced when t + # + # @param headers [Array] Optional request headers. Header values may include postback variables. + # + # @param http_method [Symbol, Onlyfans::Models::SmartLinkPostbackCreateParams::HTTPMethod] HTTP method used for the postback request. Defaults to `GET` when omitted. # # @param smart_link_ids [Array] Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # @@ -58,6 +84,41 @@ module SmartLinkScope # @!method self.values # @return [Array] end + + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + # + # @return [String, nil] + optional :name, String, nil?: true + + # @!attribute value + # Must not be greater than 2000 characters. + # + # @return [String, nil] + optional :value, String, nil?: true + + # @!method initialize(name: nil, value: nil) + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkPostbackCreateParams::Header} for more details. + # + # @param name [String, nil] This field is required when headers.\*.value is present. Must match + # + # @param value [String, nil] Must not be greater than 2000 characters. + end + + # HTTP method used for the postback request. Defaults to `GET` when omitted. + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + GET = :GET + POST = :POST + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/onlyfans/models/smart_link_postback_create_response.rb b/lib/onlyfans/models/smart_link_postback_create_response.rb index 8887f930..06ace321 100644 --- a/lib/onlyfans/models/smart_link_postback_create_response.rb +++ b/lib/onlyfans/models/smart_link_postback_create_response.rb @@ -82,6 +82,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :id, Integer + # @!attribute body + # + # @return [String, nil] + optional :body, String + # @!attribute conversion_types # # @return [Array, nil] @@ -92,6 +97,17 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :created_at, String + # @!attribute headers + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header] } + + # @!attribute http_method + # + # @return [String, nil] + optional :http_method, String + # @!attribute latest_response # # @return [String, nil] @@ -122,16 +138,35 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :url, String - # @!method initialize(id: nil, conversion_types: nil, created_at: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) + # @!method initialize(id: nil, body: nil, conversion_types: nil, created_at: nil, headers: nil, http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) # @param id [Integer] + # @param body [String] # @param conversion_types [Array] # @param created_at [String] + # @param headers [Array] + # @param http_method [String] # @param latest_response [String, nil] # @param smart_link_ids [Array] # @param smart_link_scope [String] # @param smart_links [Array] # @param updated_at [String] # @param url [String] + + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # + # @return [String, nil] + optional :name, String + + # @!attribute value + # + # @return [String, nil] + optional :value, String + + # @!method initialize(name: nil, value: nil) + # @param name [String] + # @param value [String] + end end end end diff --git a/lib/onlyfans/models/smart_link_postback_list_response.rb b/lib/onlyfans/models/smart_link_postback_list_response.rb index efc52cd4..aa69555a 100644 --- a/lib/onlyfans/models/smart_link_postback_list_response.rb +++ b/lib/onlyfans/models/smart_link_postback_list_response.rb @@ -82,6 +82,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :id, Integer + # @!attribute body + # + # @return [String, nil] + optional :body, String + # @!attribute conversion_types # # @return [Array, nil] @@ -92,6 +97,17 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :created_at, String + # @!attribute headers + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header] } + + # @!attribute http_method + # + # @return [String, nil] + optional :http_method, String + # @!attribute latest_response # # @return [Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse, nil] @@ -123,10 +139,13 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :url, String - # @!method initialize(id: nil, conversion_types: nil, created_at: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) + # @!method initialize(id: nil, body: nil, conversion_types: nil, created_at: nil, headers: nil, http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) # @param id [Integer] + # @param body [String] # @param conversion_types [Array] # @param created_at [String] + # @param headers [Array] + # @param http_method [String] # @param latest_response [Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse] # @param smart_link_ids [Array] # @param smart_link_scope [String] @@ -134,6 +153,22 @@ class Data < Onlyfans::Internal::Type::BaseModel # @param updated_at [String] # @param url [String] + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # + # @return [String, nil] + optional :name, String + + # @!attribute value + # + # @return [String, nil] + optional :value, String + + # @!method initialize(name: nil, value: nil) + # @param name [String] + # @param value [String] + end + # @see Onlyfans::Models::SmartLinkPostbackListResponse::Data#latest_response class LatestResponse < Onlyfans::Internal::Type::BaseModel # @!attribute id diff --git a/lib/onlyfans/models/smart_link_postback_retrieve_response.rb b/lib/onlyfans/models/smart_link_postback_retrieve_response.rb index 73323807..828fa869 100644 --- a/lib/onlyfans/models/smart_link_postback_retrieve_response.rb +++ b/lib/onlyfans/models/smart_link_postback_retrieve_response.rb @@ -82,6 +82,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :id, Integer + # @!attribute body + # + # @return [String, nil] + optional :body, String + # @!attribute conversion_types # # @return [Array, nil] @@ -92,6 +97,17 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :created_at, String + # @!attribute headers + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header] } + + # @!attribute http_method + # + # @return [String, nil] + optional :http_method, String + # @!attribute latest_response # # @return [String, nil] @@ -123,10 +139,13 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :url, String - # @!method initialize(id: nil, conversion_types: nil, created_at: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) + # @!method initialize(id: nil, body: nil, conversion_types: nil, created_at: nil, headers: nil, http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) # @param id [Integer] + # @param body [String] # @param conversion_types [Array] # @param created_at [String] + # @param headers [Array] + # @param http_method [String] # @param latest_response [String, nil] # @param smart_link_ids [Array] # @param smart_link_scope [String] @@ -134,6 +153,22 @@ class Data < Onlyfans::Internal::Type::BaseModel # @param updated_at [String] # @param url [String] + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # + # @return [String, nil] + optional :name, String + + # @!attribute value + # + # @return [String, nil] + optional :value, String + + # @!method initialize(name: nil, value: nil) + # @param name [String] + # @param value [String] + end + class SmartLink < Onlyfans::Internal::Type::BaseModel # @!attribute account_display_name # diff --git a/lib/onlyfans/models/smart_link_postback_update_params.rb b/lib/onlyfans/models/smart_link_postback_update_params.rb index f878f1d6..3767957f 100644 --- a/lib/onlyfans/models/smart_link_postback_update_params.rb +++ b/lib/onlyfans/models/smart_link_postback_update_params.rb @@ -30,13 +30,36 @@ class SmartLinkPostbackUpdateParams < Onlyfans::Internal::Type::BaseModel # @return [String] required :url, String + # @!attribute body + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + # + # @return [String, nil] + optional :body, String + + # @!attribute headers + # Optional request headers. Header values may include postback variables. + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::SmartLinkPostbackUpdateParams::Header] } + + # @!attribute http_method + # HTTP method used for the postback request. Existing value is kept when omitted. + # + # @return [Symbol, Onlyfans::Models::SmartLinkPostbackUpdateParams::HTTPMethod, nil] + optional :http_method, enum: -> { Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod } + # @!attribute smart_link_ids # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # # @return [Array, nil] optional :smart_link_ids, Onlyfans::Internal::Type::ArrayOf[String] - # @!method initialize(postback_id:, conversion_types:, smart_link_scope:, url:, smart_link_ids: nil, request_options: {}) + # @!method initialize(postback_id:, conversion_types:, smart_link_scope:, url:, body: nil, headers: nil, http_method: nil, smart_link_ids: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkPostbackUpdateParams} for more details. + # # @param postback_id [Integer] # # @param conversion_types [Array] One or more Smart Link conversion types that should trigger this postback. @@ -45,6 +68,12 @@ class SmartLinkPostbackUpdateParams < Onlyfans::Internal::Type::BaseModel # # @param url [String] The destination URL. # + # @param body [String] Optional request body template for POST postbacks. Variables are replaced when t + # + # @param headers [Array] Optional request headers. Header values may include postback variables. + # + # @param http_method [Symbol, Onlyfans::Models::SmartLinkPostbackUpdateParams::HTTPMethod] HTTP method used for the postback request. Existing value is kept when omitted. + # # @param smart_link_ids [Array] Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}] @@ -59,6 +88,41 @@ module SmartLinkScope # @!method self.values # @return [Array] end + + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + # + # @return [String, nil] + optional :name, String, nil?: true + + # @!attribute value + # Must not be greater than 2000 characters. + # + # @return [String, nil] + optional :value, String, nil?: true + + # @!method initialize(name: nil, value: nil) + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkPostbackUpdateParams::Header} for more details. + # + # @param name [String, nil] This field is required when headers.\*.value is present. Must match + # + # @param value [String, nil] Must not be greater than 2000 characters. + end + + # HTTP method used for the postback request. Existing value is kept when omitted. + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + GET = :GET + POST = :POST + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/onlyfans/models/smart_link_postback_update_response.rb b/lib/onlyfans/models/smart_link_postback_update_response.rb index facd7dfd..77948bd5 100644 --- a/lib/onlyfans/models/smart_link_postback_update_response.rb +++ b/lib/onlyfans/models/smart_link_postback_update_response.rb @@ -82,6 +82,11 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [Integer, nil] optional :id, Integer + # @!attribute body + # + # @return [String, nil] + optional :body, String + # @!attribute conversion_types # # @return [Array, nil] @@ -92,6 +97,17 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :created_at, String + # @!attribute headers + # + # @return [Array, nil] + optional :headers, + -> { Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header] } + + # @!attribute http_method + # + # @return [String, nil] + optional :http_method, String + # @!attribute latest_response # # @return [String, nil] @@ -123,10 +139,13 @@ class Data < Onlyfans::Internal::Type::BaseModel # @return [String, nil] optional :url, String - # @!method initialize(id: nil, conversion_types: nil, created_at: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) + # @!method initialize(id: nil, body: nil, conversion_types: nil, created_at: nil, headers: nil, http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, smart_links: nil, updated_at: nil, url: nil) # @param id [Integer] + # @param body [String] # @param conversion_types [Array] # @param created_at [String] + # @param headers [Array] + # @param http_method [String] # @param latest_response [String, nil] # @param smart_link_ids [Array] # @param smart_link_scope [String] @@ -134,6 +153,22 @@ class Data < Onlyfans::Internal::Type::BaseModel # @param updated_at [String] # @param url [String] + class Header < Onlyfans::Internal::Type::BaseModel + # @!attribute name + # + # @return [String, nil] + optional :name, String + + # @!attribute value + # + # @return [String, nil] + optional :value, String + + # @!method initialize(name: nil, value: nil) + # @param name [String] + # @param value [String] + end + class SmartLink < Onlyfans::Internal::Type::BaseModel # @!attribute account_display_name # diff --git a/lib/onlyfans/resources/analytics/financial/profitability.rb b/lib/onlyfans/resources/analytics/financial/profitability.rb index 4ad81bec..d6b68510 100644 --- a/lib/onlyfans/resources/analytics/financial/profitability.rb +++ b/lib/onlyfans/resources/analytics/financial/profitability.rb @@ -22,7 +22,7 @@ class Profitability # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Array] + # @return [Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse] # # @see Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryParams def get_history(account, params) @@ -32,7 +32,7 @@ def get_history(account, params) method: :get, path: ["api/analytics/financial/profitability/%1$s/history", account], query: query, - model: Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem], + model: Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse, options: options ) end @@ -50,7 +50,7 @@ def get_history(account, params) # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Array] + # @return [Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse] # # @see Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityParams def get_profitability(params) @@ -60,7 +60,7 @@ def get_profitability(params) method: :post, path: "api/analytics/financial/profitability", body: parsed, - model: Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem], + model: Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse, options: options ) end diff --git a/lib/onlyfans/resources/chats.rb b/lib/onlyfans/resources/chats.rb index f510c020..c4967e9b 100644 --- a/lib/onlyfans/resources/chats.rb +++ b/lib/onlyfans/resources/chats.rb @@ -222,8 +222,8 @@ def mute(chat_id, params) end # Calling this endpoint will show the target fan a "Model is typing..." note in - # the chat for ~4 seconds. If you want to continue showing the indicator call this - # endpoint multiple times. Free - no credits charged. + # the chat for ~4 seconds. Duplicate calls for the same account and chat are + # coalesced during that window. # # @overload start_typing(chat_id, account:, request_options: {}) # diff --git a/lib/onlyfans/resources/link_tags.rb b/lib/onlyfans/resources/link_tags.rb index ec123b64..cc917808 100644 --- a/lib/onlyfans/resources/link_tags.rb +++ b/lib/onlyfans/resources/link_tags.rb @@ -2,14 +2,14 @@ module Onlyfans module Resources - # APIs for managing tags on free trial links and tracking links + # APIs for managing tags on free trial links, tracking links, and Smart Links class LinkTags - # Get all existing tags that have been used on free trial links and/or tracking - # links for this account. This is a free endpoint. + # Get all existing tags that have been used on free trial links, tracking links, + # and/or Smart Links for this account. This is a free endpoint. # # @overload list(type: nil, request_options: {}) # - # @param type [Symbol, Onlyfans::Models::LinkTagListParams::Type] Filter by link type. If not provided, returns tags for both types. + # @param type [Symbol, Onlyfans::Models::LinkTagListParams::Type] Filter by link type. If not provided, returns tags for all types. # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # diff --git a/lib/onlyfans/resources/media.rb b/lib/onlyfans/resources/media.rb index 801b5558..0da96d17 100644 --- a/lib/onlyfans/resources/media.rb +++ b/lib/onlyfans/resources/media.rb @@ -15,8 +15,9 @@ class Media # Downloads a file directly from a `https://cdn*.onlyfans.com/*` URL. When the # file is already cached on our CDN, this endpoint returns a `302` redirect to a # `https://cdn.fansapi.com/*` URL. Most HTTP clients follow redirects - # automatically (`curl` requires `-L`). Otherwise, the file is streamed through - # our proxies and queued for caching. + # automatically (`curl` requires `-L`). Otherwise, the file is redirected to + # `dl.fansapi.com`, which streams it through the account proxy and reports billing + # back to the API. # # @overload download(cdn_url, account:, request_options: {}) # @@ -27,7 +28,7 @@ class Media # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [String] + # @return [nil] # # @see Onlyfans::Models::MediaDownloadParams def download(cdn_url, params) @@ -39,8 +40,7 @@ def download(cdn_url, params) @client.request( method: :get, path: ["api/%1$s/media/download/%2$s", account, cdn_url], - headers: {"accept" => "text/plain"}, - model: String, + model: NilClass, options: options ) end diff --git a/lib/onlyfans/resources/media/vault/lists.rb b/lib/onlyfans/resources/media/vault/lists.rb index c243f037..b1ba7799 100644 --- a/lib/onlyfans/resources/media/vault/lists.rb +++ b/lib/onlyfans/resources/media/vault/lists.rb @@ -59,13 +59,18 @@ def retrieve(list_id, params) ) end + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::Media::Vault::ListUpdateParams} for more details. + # # Rename a Vault list. # - # @overload update(list_id, account:, request_options: {}) + # @overload update(list_id, account:, name:, request_options: {}) # - # @param list_id [String] The ID of the list + # @param list_id [String] Path param: The ID of the list # - # @param account [String] The Account ID + # @param account [String] Path param: The Account ID + # + # @param name [String] Body param: The new name for the vault list. Must not be greater than 255 charac # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # @@ -81,6 +86,7 @@ def update(list_id, params) @client.request( method: :put, path: ["api/%1$s/media/vault/lists/%2$s", account, list_id], + body: parsed, model: Onlyfans::Models::Media::Vault::ListUpdateResponse, options: options ) diff --git a/lib/onlyfans/resources/messages.rb b/lib/onlyfans/resources/messages.rb index 4dc39e08..bb228f8a 100644 --- a/lib/onlyfans/resources/messages.rb +++ b/lib/onlyfans/resources/messages.rb @@ -3,45 +3,6 @@ module Onlyfans module Resources class Messages - # Some parameter documentations has been truncated, see - # {Onlyfans::Models::MessageAttachTagsParams} for more details. - # - # Attach Tags (Release Forms) to a message that has already been sent. Please - # note, that this is a "sync" operation - for example, if you provide empty - # `rfTag` it will remove all existing tags already attached to the message. - # - # @overload attach_tags(message_id, account:, rf_guest: nil, rf_partner: nil, rf_tag: nil, request_options: {}) - # - # @param message_id [String] Path param: The ID of the message to attach the release forms to. This can be ON - # - # @param account [String] Path param: The Account ID - # - # @param rf_guest [String] Body param: Array of OnlyFans Release Form Guest IDs to tag in your message - # - # @param rf_partner [String] Body param: Array of OnlyFans Release Form Partners IDs to tag in your message - # - # @param rf_tag [String] Body param: Array of OnlyFans Creator User IDs to tag in your message - # - # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Onlyfans::Models::MessageAttachTagsResponse] - # - # @see Onlyfans::Models::MessageAttachTagsParams - def attach_tags(message_id, params) - parsed, options = Onlyfans::MessageAttachTagsParams.dump_request(params) - account = - parsed.delete(:account) do - raise ArgumentError.new("missing required path argument #{_1}") - end - @client.request( - method: :post, - path: ["api/%1$s/messages/%2$s/attach-tags", account, message_id], - body: parsed, - model: Onlyfans::Models::MessageAttachTagsResponse, - options: options - ) - end - # @api private # # @param client [Onlyfans::Client] diff --git a/lib/onlyfans/resources/release_forms.rb b/lib/onlyfans/resources/release_forms.rb index 6a147ad4..1936d8ce 100644 --- a/lib/onlyfans/resources/release_forms.rb +++ b/lib/onlyfans/resources/release_forms.rb @@ -57,7 +57,8 @@ def create_release_form(account, params) # # Get a paginated list of users that can be tagged in release forms. These are # verified creators who have signed release forms to appear in your content. Use - # `offset` and `limit` for pagination. + # `offset` and `limit` for pagination, following `_pagination.next_page` until it + # is `null`. # # @overload list_taggable_users(account, filter: nil, limit: nil, name: nil, offset: nil, sort: nil, sort_direction: nil, request_options: {}) # diff --git a/lib/onlyfans/resources/smart_link_postbacks.rb b/lib/onlyfans/resources/smart_link_postbacks.rb index 3f1a783f..3ca202e5 100644 --- a/lib/onlyfans/resources/smart_link_postbacks.rb +++ b/lib/onlyfans/resources/smart_link_postbacks.rb @@ -9,13 +9,19 @@ class SmartLinkPostbacks # # Create a postback that fires for selected Smart Link conversion types # - # @overload create(conversion_types:, smart_link_scope:, url:, smart_link_ids: nil, request_options: {}) + # @overload create(conversion_types:, smart_link_scope:, url:, body: nil, headers: nil, http_method: nil, smart_link_ids: nil, request_options: {}) # # @param conversion_types [Array] One or more Smart Link conversion types that should trigger this postback. # # @param smart_link_scope [Symbol, Onlyfans::Models::SmartLinkPostbackCreateParams::SmartLinkScope] `global` fires for all Smart Links. `campaign_specific` fires only for selected # - # @param url [String] The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and + # @param url [String] The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, `{gcli + # + # @param body [String] Optional request body template for POST postbacks. Variables are replaced when t + # + # @param headers [Array] Optional request headers. Header values may include postback variables. + # + # @param http_method [Symbol, Onlyfans::Models::SmartLinkPostbackCreateParams::HTTPMethod] HTTP method used for the postback request. Defaults to `GET` when omitted. # # @param smart_link_ids [Array] Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # @@ -55,9 +61,12 @@ def retrieve(postback_id, params = {}) ) end + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkPostbackUpdateParams} for more details. + # # Update a Smart Link postback configuration # - # @overload update(postback_id, conversion_types:, smart_link_scope:, url:, smart_link_ids: nil, request_options: {}) + # @overload update(postback_id, conversion_types:, smart_link_scope:, url:, body: nil, headers: nil, http_method: nil, smart_link_ids: nil, request_options: {}) # # @param postback_id [Integer] The postback ID # @@ -67,6 +76,12 @@ def retrieve(postback_id, params = {}) # # @param url [String] The destination URL. # + # @param body [String] Optional request body template for POST postbacks. Variables are replaced when t + # + # @param headers [Array] Optional request headers. Header values may include postback variables. + # + # @param http_method [Symbol, Onlyfans::Models::SmartLinkPostbackUpdateParams::HTTPMethod] HTTP method used for the postback request. Existing value is kept when omitted. + # # @param smart_link_ids [Array] Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] diff --git a/lib/onlyfans/resources/smart_links.rb b/lib/onlyfans/resources/smart_links.rb index e4187084..52ac7ad5 100644 --- a/lib/onlyfans/resources/smart_links.rb +++ b/lib/onlyfans/resources/smart_links.rb @@ -62,18 +62,22 @@ def retrieve(smart_link_id, params = {}) # # List all Smart Links # - # @overload list(account_ids: nil, limit: nil, meta_pixel_ids: nil, name: nil, offset: nil, request_options: {}) + # @overload list(account_ids: nil, filter: nil, limit: nil, meta_pixel_ids: nil, name: nil, offset: nil, pixel_ids: nil, request_options: {}) # # @param account_ids [String, nil] Comma-separated account prefixed IDs to include. # + # @param filter [Onlyfans::Models::SmartLinkListParams::Filter] + # # @param limit [Integer] The number of Smart Links to return. Default `50`. Must be at least 1. Must not # - # @param meta_pixel_ids [String, nil] Comma-separated Meta Pixel IDs to include. + # @param meta_pixel_ids [String, nil] Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. # # @param name [String, nil] Filter Smart Links by name. Must not be greater than 255 characters. # # @param offset [Integer] The offset used for pagination. Default `0`. Must be at least 0. # + # @param pixel_ids [String, nil] Comma-separated ad platform Pixel IDs to include. + # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Onlyfans::Models::SmartLinkListResponse] @@ -186,10 +190,13 @@ def list_conversions(smart_link_id, params = {}) ) end + # Some parameter documentations has been truncated, see + # {Onlyfans::Models::SmartLinkListFansParams} for more details. + # # Query attributed Smart Link fans with aggregate fan metrics and subscriber # attribution metadata # - # @overload list_fans(smart_link_id, has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, sort: nil, request_options: {}) + # @overload list_fans(smart_link_id, has_messages: nil, limit: nil, min_messages_sent_by_fan: nil, min_revenue_net: nil, min_tips_net: nil, offset: nil, previously_subscribed: nil, sort: nil, subscribed_using_promo: nil, request_options: {}) # # @param smart_link_id [String] The ID of the smart link. # @@ -205,8 +212,12 @@ def list_conversions(smart_link_id, params = {}) # # @param offset [Integer] Offset for pagination. Default `0` # + # @param previously_subscribed [Boolean] Optional - Filter to returning subscribers (fans previously subscribed before th + # # @param sort [Symbol, Onlyfans::Models::SmartLinkListFansParams::Sort] Optional sort field. Default `-revenue_net` # + # @param subscribed_using_promo [Boolean] Optional - Filter to fans who subscribed via a promotion/offer + # # @param request_options [Onlyfans::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Onlyfans::Models::SmartLinkListFansResponse] diff --git a/lib/onlyfans/version.rb b/lib/onlyfans/version.rb index 9d1246dd..5239cacd 100644 --- a/lib/onlyfans/version.rb +++ b/lib/onlyfans/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Onlyfans - VERSION = "0.2.0" + VERSION = "0.3.0" end diff --git a/rbi/onlyfans/client.rbi b/rbi/onlyfans/client.rbi index a5829d93..2d69da7c 100644 --- a/rbi/onlyfans/client.rbi +++ b/rbi/onlyfans/client.rbi @@ -70,7 +70,7 @@ module Onlyfans sig { returns(Onlyfans::Resources::Giphy) } attr_reader :giphy - # APIs for managing tags on free trial links and tracking links + # APIs for managing tags on free trial links, tracking links, and Smart Links sig { returns(Onlyfans::Resources::LinkTags) } attr_reader :link_tags diff --git a/rbi/onlyfans/models.rbi b/rbi/onlyfans/models.rbi index 535ea6c3..0fc7dd6f 100644 --- a/rbi/onlyfans/models.rbi +++ b/rbi/onlyfans/models.rbi @@ -132,8 +132,6 @@ module Onlyfans MeRetrieveParams = Onlyfans::Models::MeRetrieveParams - MessageAttachTagsParams = Onlyfans::Models::MessageAttachTagsParams - NotificationGetCountsParams = Onlyfans::Models::NotificationGetCountsParams NotificationListParams = Onlyfans::Models::NotificationListParams diff --git a/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi b/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi index f3836d3e..658c02dd 100644 --- a/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi +++ b/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi @@ -4,94 +4,234 @@ module Onlyfans module Models module Analytics module Financial - class ProfitabilityGetHistoryResponseItem < Onlyfans::Internal::Type::BaseModel + class ProfitabilityGetHistoryResponse < Onlyfans::Internal::Type::BaseModel OrHash = T.type_alias do T.any( - Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem, + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse, Onlyfans::Internal::AnyHash ) end - sig { returns(T.nilable(Float)) } - attr_reader :gross_revenue + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data + ] + ) + ) + end + attr_reader :data - sig { params(gross_revenue: Float).void } - attr_writer :gross_revenue + sig do + params( + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data::OrHash + ] + ).void + end + attr_writer :data - sig { returns(T.nilable(Float)) } - attr_reader :margin + sig do + params( + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data::OrHash + ] + ).returns(T.attached_class) + end + def self.new(data: nil) + end - sig { params(margin: Float).void } - attr_writer :margin + sig do + override.returns( + { + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data + ] + } + ) + end + def to_hash + end - sig { returns(T.nilable(Integer)) } - attr_reader :month + class Data < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data, + Onlyfans::Internal::AnyHash + ) + end - sig { params(month: Integer).void } - attr_writer :month + sig { returns(T.nilable(String)) } + attr_accessor :active_milestones - sig { returns(T.nilable(Float)) } - attr_reader :net_revenue + sig { returns(T.nilable(String)) } + attr_reader :agency_earnings - sig { params(net_revenue: Float).void } - attr_writer :net_revenue + sig { params(agency_earnings: String).void } + attr_writer :agency_earnings - sig { returns(T.nilable(Float)) } - attr_reader :profit + sig { returns(T.nilable(String)) } + attr_reader :commission_amount - sig { params(profit: Float).void } - attr_writer :profit + sig { params(commission_amount: String).void } + attr_writer :commission_amount - sig { returns(T.nilable(Integer)) } - attr_reader :year + sig { returns(T.nilable(String)) } + attr_reader :commission_rate - sig { params(year: Integer).void } - attr_writer :year + sig { params(commission_rate: String).void } + attr_writer :commission_rate - sig do - params( - gross_revenue: Float, - margin: Float, - month: Integer, - net_revenue: Float, - profit: Float, - year: Integer - ).returns(T.attached_class) - end - def self.new( - gross_revenue: nil, - margin: nil, - month: nil, - net_revenue: nil, - profit: nil, - year: nil - ) - end + sig { returns(T.nilable(T::Array[T.anything])) } + attr_reader :costs - sig do - override.returns( - { - gross_revenue: Float, - margin: Float, + sig { params(costs: T::Array[T.anything]).void } + attr_writer :costs + + sig { returns(T.nilable(String)) } + attr_reader :creator_name + + sig { params(creator_name: String).void } + attr_writer :creator_name + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_commission_for_period + + sig { params(has_commission_for_period: T::Boolean).void } + attr_writer :has_commission_for_period + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_costs_for_period + + sig { params(has_costs_for_period: T::Boolean).void } + attr_writer :has_costs_for_period + + sig { returns(T.nilable(String)) } + attr_reader :margin_percentage + + sig { params(margin_percentage: String).void } + attr_writer :margin_percentage + + sig { returns(T.nilable(Integer)) } + attr_reader :month + + sig { params(month: Integer).void } + attr_writer :month + + sig { returns(T.nilable(Integer)) } + attr_reader :only_fans_user_id + + sig { params(only_fans_user_id: Integer).void } + attr_writer :only_fans_user_id + + sig { returns(T.nilable(String)) } + attr_reader :profit + + sig { params(profit: String).void } + attr_writer :profit + + sig { returns(T.nilable(String)) } + attr_reader :projected_net + + sig { params(projected_net: String).void } + attr_writer :projected_net + + sig { returns(T.nilable(T::Array[T.anything])) } + attr_reader :rate_periods + + sig { params(rate_periods: T::Array[T.anything]).void } + attr_writer :rate_periods + + sig { returns(T.nilable(String)) } + attr_accessor :referral_note + + sig { returns(T.nilable(String)) } + attr_reader :total_costs + + sig { params(total_costs: String).void } + attr_writer :total_costs + + sig { returns(T.nilable(Integer)) } + attr_reader :year + + sig { params(year: Integer).void } + attr_writer :year + + sig do + params( + active_milestones: T.nilable(String), + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: T::Array[T.anything], + creator_name: String, + has_commission_for_period: T::Boolean, + has_costs_for_period: T::Boolean, + margin_percentage: String, month: Integer, - net_revenue: Float, - profit: Float, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: T::Array[T.anything], + referral_note: T.nilable(String), + total_costs: String, year: Integer - } + ).returns(T.attached_class) + end + def self.new( + active_milestones: nil, + agency_earnings: nil, + commission_amount: nil, + commission_rate: nil, + costs: nil, + creator_name: nil, + has_commission_for_period: nil, + has_costs_for_period: nil, + margin_percentage: nil, + month: nil, + only_fans_user_id: nil, + profit: nil, + projected_net: nil, + rate_periods: nil, + referral_note: nil, + total_costs: nil, + year: nil ) - end - def to_hash + end + + sig do + override.returns( + { + active_milestones: T.nilable(String), + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: T::Array[T.anything], + creator_name: String, + has_commission_for_period: T::Boolean, + has_costs_for_period: T::Boolean, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: T::Array[T.anything], + referral_note: T.nilable(String), + total_costs: String, + year: Integer + } + ) + end + def to_hash + end end end - - ProfitabilityGetHistoryResponse = - T.let( - Onlyfans::Internal::Type::ArrayOf[ - Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem - ], - Onlyfans::Internal::Type::Converter - ) end end end diff --git a/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi b/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi index 06fda244..a9456038 100644 --- a/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi +++ b/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi @@ -4,112 +4,234 @@ module Onlyfans module Models module Analytics module Financial - class ProfitabilityGetProfitabilityResponseItem < Onlyfans::Internal::Type::BaseModel + class ProfitabilityGetProfitabilityResponse < Onlyfans::Internal::Type::BaseModel OrHash = T.type_alias do T.any( - Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem, + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse, Onlyfans::Internal::AnyHash ) end - sig { returns(T.nilable(Float)) } - attr_reader :commission + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data + ] + ) + ) + end + attr_reader :data - sig { params(commission: Float).void } - attr_writer :commission + sig do + params( + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data::OrHash + ] + ).void + end + attr_writer :data - sig { returns(T.nilable(Integer)) } - attr_reader :creator_id + sig do + params( + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data::OrHash + ] + ).returns(T.attached_class) + end + def self.new(data: nil) + end - sig { params(creator_id: Integer).void } - attr_writer :creator_id + sig do + override.returns( + { + data: + T::Array[ + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data + ] + } + ) + end + def to_hash + end - sig { returns(T.nilable(Float)) } - attr_reader :gross_revenue + class Data < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data, + Onlyfans::Internal::AnyHash + ) + end - sig { params(gross_revenue: Float).void } - attr_writer :gross_revenue + sig { returns(T.nilable(String)) } + attr_accessor :active_milestones - sig { returns(T.nilable(Float)) } - attr_reader :margin + sig { returns(T.nilable(String)) } + attr_reader :agency_earnings - sig { params(margin: Float).void } - attr_writer :margin + sig { params(agency_earnings: String).void } + attr_writer :agency_earnings - sig { returns(T.nilable(String)) } - attr_reader :name + sig { returns(T.nilable(String)) } + attr_reader :commission_amount - sig { params(name: String).void } - attr_writer :name + sig { params(commission_amount: String).void } + attr_writer :commission_amount - sig { returns(T.nilable(Float)) } - attr_reader :net_revenue + sig { returns(T.nilable(String)) } + attr_reader :commission_rate - sig { params(net_revenue: Float).void } - attr_writer :net_revenue + sig { params(commission_rate: String).void } + attr_writer :commission_rate - sig { returns(T.nilable(Float)) } - attr_reader :profit + sig { returns(T.nilable(T::Array[T.anything])) } + attr_reader :costs - sig { params(profit: Float).void } - attr_writer :profit + sig { params(costs: T::Array[T.anything]).void } + attr_writer :costs - sig { returns(T.nilable(Float)) } - attr_reader :total_costs + sig { returns(T.nilable(String)) } + attr_reader :creator_name - sig { params(total_costs: Float).void } - attr_writer :total_costs + sig { params(creator_name: String).void } + attr_writer :creator_name - sig do - params( - commission: Float, - creator_id: Integer, - gross_revenue: Float, - margin: Float, - name: String, - net_revenue: Float, - profit: Float, - total_costs: Float - ).returns(T.attached_class) - end - def self.new( - commission: nil, - creator_id: nil, - gross_revenue: nil, - margin: nil, - name: nil, - net_revenue: nil, - profit: nil, - total_costs: nil - ) - end + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_commission_for_period - sig do - override.returns( - { - commission: Float, - creator_id: Integer, - gross_revenue: Float, - margin: Float, - name: String, - net_revenue: Float, - profit: Float, - total_costs: Float - } + sig { params(has_commission_for_period: T::Boolean).void } + attr_writer :has_commission_for_period + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_costs_for_period + + sig { params(has_costs_for_period: T::Boolean).void } + attr_writer :has_costs_for_period + + sig { returns(T.nilable(String)) } + attr_reader :margin_percentage + + sig { params(margin_percentage: String).void } + attr_writer :margin_percentage + + sig { returns(T.nilable(Integer)) } + attr_reader :month + + sig { params(month: Integer).void } + attr_writer :month + + sig { returns(T.nilable(Integer)) } + attr_reader :only_fans_user_id + + sig { params(only_fans_user_id: Integer).void } + attr_writer :only_fans_user_id + + sig { returns(T.nilable(String)) } + attr_reader :profit + + sig { params(profit: String).void } + attr_writer :profit + + sig { returns(T.nilable(String)) } + attr_reader :projected_net + + sig { params(projected_net: String).void } + attr_writer :projected_net + + sig { returns(T.nilable(T::Array[T.anything])) } + attr_reader :rate_periods + + sig { params(rate_periods: T::Array[T.anything]).void } + attr_writer :rate_periods + + sig { returns(T.nilable(String)) } + attr_accessor :referral_note + + sig { returns(T.nilable(String)) } + attr_reader :total_costs + + sig { params(total_costs: String).void } + attr_writer :total_costs + + sig { returns(T.nilable(Integer)) } + attr_reader :year + + sig { params(year: Integer).void } + attr_writer :year + + sig do + params( + active_milestones: T.nilable(String), + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: T::Array[T.anything], + creator_name: String, + has_commission_for_period: T::Boolean, + has_costs_for_period: T::Boolean, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: T::Array[T.anything], + referral_note: T.nilable(String), + total_costs: String, + year: Integer + ).returns(T.attached_class) + end + def self.new( + active_milestones: nil, + agency_earnings: nil, + commission_amount: nil, + commission_rate: nil, + costs: nil, + creator_name: nil, + has_commission_for_period: nil, + has_costs_for_period: nil, + margin_percentage: nil, + month: nil, + only_fans_user_id: nil, + profit: nil, + projected_net: nil, + rate_periods: nil, + referral_note: nil, + total_costs: nil, + year: nil ) - end - def to_hash + end + + sig do + override.returns( + { + active_milestones: T.nilable(String), + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: T::Array[T.anything], + creator_name: String, + has_commission_for_period: T::Boolean, + has_costs_for_period: T::Boolean, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: T::Array[T.anything], + referral_note: T.nilable(String), + total_costs: String, + year: Integer + } + ) + end + def to_hash + end end end - - ProfitabilityGetProfitabilityResponse = - T.let( - Onlyfans::Internal::Type::ArrayOf[ - Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem - ], - Onlyfans::Internal::Type::Converter - ) end end end diff --git a/rbi/onlyfans/models/authenticate_start_params.rbi b/rbi/onlyfans/models/authenticate_start_params.rbi index b0507072..07189cbc 100644 --- a/rbi/onlyfans/models/authenticate_start_params.rbi +++ b/rbi/onlyfans/models/authenticate_start_params.rbi @@ -316,6 +316,11 @@ module Onlyfans :uk, Onlyfans::AuthenticateStartParams::ProxyCountry::TaggedSymbol ) + GB = + T.let( + :gb, + Onlyfans::AuthenticateStartParams::ProxyCountry::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/onlyfans/models/client_session_create_params.rbi b/rbi/onlyfans/models/client_session_create_params.rbi index 2b830b16..ebded329 100644 --- a/rbi/onlyfans/models/client_session_create_params.rbi +++ b/rbi/onlyfans/models/client_session_create_params.rbi @@ -88,6 +88,11 @@ module Onlyfans :uk, Onlyfans::ClientSessionCreateParams::ProxyCountry::TaggedSymbol ) + GB = + T.let( + :gb, + Onlyfans::ClientSessionCreateParams::ProxyCountry::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/onlyfans/models/data_export_create_params.rbi b/rbi/onlyfans/models/data_export_create_params.rbi index 8738047f..ce15a786 100644 --- a/rbi/onlyfans/models/data_export_create_params.rbi +++ b/rbi/onlyfans/models/data_export_create_params.rbi @@ -64,11 +64,12 @@ module Onlyfans # (optional, USD), `maxSubscribePrice` (optional, USD), `location` (optional), # `minPostsCount` (optional, minimum posts), `minPhotosCount` (optional, minimum # photos), `minVideosCount` (optional, minimum videos), `minSubscribersCount` - # (optional, minimum subscribers), `minJoinDate` (optional, ISO 8601 date), - # `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 - # date, profile added to DB after), `createdAtTo` (optional, ISO 8601 date, - # profile added to DB before), `instagram` (optional), `twitter` (optional), - # `tiktok` (optional), `maxResults` (optional, limit results). + # (optional, minimum subscribers), `maxSubscribersCount` (optional, maximum + # subscribers), `minJoinDate` (optional, ISO 8601 date), `minLastSeenAt` + # (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 date, profile + # added to DB after), `createdAtTo` (optional, ISO 8601 date, profile added to DB + # before), `instagram` (optional), `twitter` (optional), `tiktok` (optional), + # `maxResults` (optional, limit results). sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_reader :options @@ -119,11 +120,12 @@ module Onlyfans # (optional, USD), `maxSubscribePrice` (optional, USD), `location` (optional), # `minPostsCount` (optional, minimum posts), `minPhotosCount` (optional, minimum # photos), `minVideosCount` (optional, minimum videos), `minSubscribersCount` - # (optional, minimum subscribers), `minJoinDate` (optional, ISO 8601 date), - # `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 - # date, profile added to DB after), `createdAtTo` (optional, ISO 8601 date, - # profile added to DB before), `instagram` (optional), `twitter` (optional), - # `tiktok` (optional), `maxResults` (optional, limit results). + # (optional, minimum subscribers), `maxSubscribersCount` (optional, maximum + # subscribers), `minJoinDate` (optional, ISO 8601 date), `minLastSeenAt` + # (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 date, profile + # added to DB after), `createdAtTo` (optional, ISO 8601 date, profile added to DB + # before), `instagram` (optional), `twitter` (optional), `tiktok` (optional), + # `maxResults` (optional, limit results). options: nil, request_options: {} ) diff --git a/rbi/onlyfans/models/data_export_list_response.rbi b/rbi/onlyfans/models/data_export_list_response.rbi index bc1d1cec..50cc01b8 100644 --- a/rbi/onlyfans/models/data_export_list_response.rbi +++ b/rbi/onlyfans/models/data_export_list_response.rbi @@ -423,6 +423,12 @@ module Onlyfans sig { returns(T.nilable(String)) } attr_accessor :failed_at + sig { returns(T.nilable(Integer)) } + attr_reader :failed_downloads + + sig { params(failed_downloads: Integer).void } + attr_writer :failed_downloads + sig { returns(T.nilable(String)) } attr_accessor :failed_reason @@ -483,6 +489,7 @@ module Onlyfans end_date: String, export_columns: T::Array[String], failed_at: T.nilable(String), + failed_downloads: Integer, failed_reason: T.nilable(String), file_type: String, progress_percentage: Integer, @@ -504,6 +511,7 @@ module Onlyfans end_date: nil, export_columns: nil, failed_at: nil, + failed_downloads: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, @@ -531,6 +539,7 @@ module Onlyfans end_date: String, export_columns: T::Array[String], failed_at: T.nilable(String), + failed_downloads: Integer, failed_reason: T.nilable(String), file_type: String, progress_percentage: Integer, diff --git a/rbi/onlyfans/models/data_export_retrieve_response.rbi b/rbi/onlyfans/models/data_export_retrieve_response.rbi index b2fcf19c..507cb8c8 100644 --- a/rbi/onlyfans/models/data_export_retrieve_response.rbi +++ b/rbi/onlyfans/models/data_export_retrieve_response.rbi @@ -349,6 +349,12 @@ module Onlyfans sig { returns(T.nilable(String)) } attr_accessor :failed_at + sig { returns(T.nilable(Integer)) } + attr_reader :failed_downloads + + sig { params(failed_downloads: Integer).void } + attr_writer :failed_downloads + sig { returns(T.nilable(String)) } attr_accessor :failed_reason @@ -407,6 +413,7 @@ module Onlyfans end_date: String, export_columns: T::Array[String], failed_at: T.nilable(String), + failed_downloads: Integer, failed_reason: T.nilable(String), file_type: String, progress_percentage: Integer, @@ -426,6 +433,7 @@ module Onlyfans end_date: nil, export_columns: nil, failed_at: nil, + failed_downloads: nil, failed_reason: nil, file_type: nil, progress_percentage: nil, @@ -451,6 +459,7 @@ module Onlyfans end_date: String, export_columns: T::Array[String], failed_at: T.nilable(String), + failed_downloads: Integer, failed_reason: T.nilable(String), file_type: String, progress_percentage: Integer, diff --git a/rbi/onlyfans/models/link_tag_list_params.rbi b/rbi/onlyfans/models/link_tag_list_params.rbi index a28b586e..660df692 100644 --- a/rbi/onlyfans/models/link_tag_list_params.rbi +++ b/rbi/onlyfans/models/link_tag_list_params.rbi @@ -11,7 +11,7 @@ module Onlyfans T.any(Onlyfans::LinkTagListParams, Onlyfans::Internal::AnyHash) end - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. sig { returns(T.nilable(Onlyfans::LinkTagListParams::Type::OrSymbol)) } attr_reader :type @@ -25,7 +25,7 @@ module Onlyfans ).returns(T.attached_class) end def self.new( - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. type: nil, request_options: {} ) @@ -42,7 +42,7 @@ module Onlyfans def to_hash end - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. module Type extend Onlyfans::Internal::Type::Enum @@ -57,6 +57,8 @@ module Onlyfans :tracking_links, Onlyfans::LinkTagListParams::Type::TaggedSymbol ) + SMART_LINKS = + T.let(:smart_links, Onlyfans::LinkTagListParams::Type::TaggedSymbol) sig do override.returns( diff --git a/rbi/onlyfans/models/media/vault/list_update_params.rbi b/rbi/onlyfans/models/media/vault/list_update_params.rbi index b3c3f726..2e45e875 100644 --- a/rbi/onlyfans/models/media/vault/list_update_params.rbi +++ b/rbi/onlyfans/models/media/vault/list_update_params.rbi @@ -22,14 +22,25 @@ module Onlyfans sig { returns(String) } attr_accessor :list_id + # The new name for the vault list. Must not be greater than 255 characters. + sig { returns(String) } + attr_accessor :name + sig do params( account: String, list_id: String, + name: String, request_options: Onlyfans::RequestOptions::OrHash ).returns(T.attached_class) end - def self.new(account:, list_id:, request_options: {}) + def self.new( + account:, + list_id:, + # The new name for the vault list. Must not be greater than 255 characters. + name:, + request_options: {} + ) end sig do @@ -37,6 +48,7 @@ module Onlyfans { account: String, list_id: String, + name: String, request_options: Onlyfans::RequestOptions } ) diff --git a/rbi/onlyfans/models/media_download_response.rbi b/rbi/onlyfans/models/media_download_response.rbi deleted file mode 100644 index 09e4469c..00000000 --- a/rbi/onlyfans/models/media_download_response.rbi +++ /dev/null @@ -1,7 +0,0 @@ -# typed: strong - -module Onlyfans - module Models - MediaDownloadResponse = String - end -end diff --git a/rbi/onlyfans/models/message_attach_tags_params.rbi b/rbi/onlyfans/models/message_attach_tags_params.rbi deleted file mode 100644 index 24a9475a..00000000 --- a/rbi/onlyfans/models/message_attach_tags_params.rbi +++ /dev/null @@ -1,80 +0,0 @@ -# typed: strong - -module Onlyfans - module Models - class MessageAttachTagsParams < Onlyfans::Internal::Type::BaseModel - extend Onlyfans::Internal::Type::RequestParameters::Converter - include Onlyfans::Internal::Type::RequestParameters - - OrHash = - T.type_alias do - T.any(Onlyfans::MessageAttachTagsParams, Onlyfans::Internal::AnyHash) - end - - sig { returns(String) } - attr_accessor :account - - sig { returns(String) } - attr_accessor :message_id - - # Array of OnlyFans Release Form Guest IDs to tag in your message - sig { returns(T.nilable(String)) } - attr_reader :rf_guest - - sig { params(rf_guest: String).void } - attr_writer :rf_guest - - # Array of OnlyFans Release Form Partners IDs to tag in your message - sig { returns(T.nilable(String)) } - attr_reader :rf_partner - - sig { params(rf_partner: String).void } - attr_writer :rf_partner - - # Array of OnlyFans Creator User IDs to tag in your message - sig { returns(T.nilable(String)) } - attr_reader :rf_tag - - sig { params(rf_tag: String).void } - attr_writer :rf_tag - - sig do - params( - account: String, - message_id: String, - rf_guest: String, - rf_partner: String, - rf_tag: String, - request_options: Onlyfans::RequestOptions::OrHash - ).returns(T.attached_class) - end - def self.new( - account:, - message_id:, - # Array of OnlyFans Release Form Guest IDs to tag in your message - rf_guest: nil, - # Array of OnlyFans Release Form Partners IDs to tag in your message - rf_partner: nil, - # Array of OnlyFans Creator User IDs to tag in your message - rf_tag: nil, - request_options: {} - ) - end - - sig do - override.returns( - { - account: String, - message_id: String, - rf_guest: String, - rf_partner: String, - rf_tag: String, - request_options: Onlyfans::RequestOptions - } - ) - end - def to_hash - end - end - end -end diff --git a/rbi/onlyfans/models/message_attach_tags_response.rbi b/rbi/onlyfans/models/message_attach_tags_response.rbi deleted file mode 100644 index a8b9488a..00000000 --- a/rbi/onlyfans/models/message_attach_tags_response.rbi +++ /dev/null @@ -1,308 +0,0 @@ -# typed: strong - -module Onlyfans - module Models - class MessageAttachTagsResponse < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse, - Onlyfans::Internal::AnyHash - ) - end - - sig do - returns(T.nilable(Onlyfans::Models::MessageAttachTagsResponse::Meta)) - end - attr_reader :_meta - - sig do - params( - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta::OrHash - ).void - end - attr_writer :_meta - - sig do - returns(T.nilable(Onlyfans::Models::MessageAttachTagsResponse::Data)) - end - attr_reader :data - - sig do - params( - data: Onlyfans::Models::MessageAttachTagsResponse::Data::OrHash - ).void - end - attr_writer :data - - sig do - params( - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta::OrHash, - data: Onlyfans::Models::MessageAttachTagsResponse::Data::OrHash - ).returns(T.attached_class) - end - def self.new(_meta: nil, data: nil) - end - - sig do - override.returns( - { - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta, - data: Onlyfans::Models::MessageAttachTagsResponse::Data - } - ) - end - def to_hash - end - - class Meta < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse::Meta, - Onlyfans::Internal::AnyHash - ) - end - - sig do - returns( - T.nilable(Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache) - ) - end - attr_reader :_cache - - sig do - params( - _cache: - Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache::OrHash - ).void - end - attr_writer :_cache - - sig do - returns( - T.nilable( - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits - ) - ) - end - attr_reader :_credits - - sig do - params( - _credits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits::OrHash - ).void - end - attr_writer :_credits - - sig do - returns( - T.nilable( - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - ) - ) - end - attr_reader :_rate_limits - - sig do - params( - _rate_limits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits::OrHash - ).void - end - attr_writer :_rate_limits - - sig do - params( - _cache: - Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache::OrHash, - _credits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits::OrHash, - _rate_limits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits::OrHash - ).returns(T.attached_class) - end - def self.new(_cache: nil, _credits: nil, _rate_limits: nil) - end - - sig do - override.returns( - { - _cache: Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, - _credits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, - _rate_limits: - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - } - ) - end - def to_hash - end - - class Cache < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, - Onlyfans::Internal::AnyHash - ) - end - - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_cached - - sig { params(is_cached: T::Boolean).void } - attr_writer :is_cached - - sig { returns(T.nilable(String)) } - attr_reader :note - - sig { params(note: String).void } - attr_writer :note - - sig do - params(is_cached: T::Boolean, note: String).returns( - T.attached_class - ) - end - def self.new(is_cached: nil, note: nil) - end - - sig { override.returns({ is_cached: T::Boolean, note: String }) } - def to_hash - end - end - - class Credits < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, - Onlyfans::Internal::AnyHash - ) - end - - sig { returns(T.nilable(Integer)) } - attr_reader :balance - - sig { params(balance: Integer).void } - attr_writer :balance - - sig { returns(T.nilable(String)) } - attr_reader :note - - sig { params(note: String).void } - attr_writer :note - - sig { returns(T.nilable(Integer)) } - attr_reader :used - - sig { params(used: Integer).void } - attr_writer :used - - sig do - params(balance: Integer, note: String, used: Integer).returns( - T.attached_class - ) - end - def self.new(balance: nil, note: nil, used: nil) - end - - sig do - override.returns({ balance: Integer, note: String, used: Integer }) - end - def to_hash - end - end - - class RateLimits < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits, - Onlyfans::Internal::AnyHash - ) - end - - sig { returns(T.nilable(Integer)) } - attr_reader :limit_day - - sig { params(limit_day: Integer).void } - attr_writer :limit_day - - sig { returns(T.nilable(Integer)) } - attr_reader :limit_minute - - sig { params(limit_minute: Integer).void } - attr_writer :limit_minute - - sig { returns(T.nilable(Integer)) } - attr_reader :remaining_day - - sig { params(remaining_day: Integer).void } - attr_writer :remaining_day - - sig { returns(T.nilable(Integer)) } - attr_reader :remaining_minute - - sig { params(remaining_minute: Integer).void } - attr_writer :remaining_minute - - sig do - params( - limit_day: Integer, - limit_minute: Integer, - remaining_day: Integer, - remaining_minute: Integer - ).returns(T.attached_class) - end - def self.new( - limit_day: nil, - limit_minute: nil, - remaining_day: nil, - remaining_minute: nil - ) - end - - sig do - override.returns( - { - limit_day: Integer, - limit_minute: Integer, - remaining_day: Integer, - remaining_minute: Integer - } - ) - end - def to_hash - end - end - end - - class Data < Onlyfans::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Onlyfans::Models::MessageAttachTagsResponse::Data, - Onlyfans::Internal::AnyHash - ) - end - - sig { returns(T.nilable(T::Boolean)) } - attr_reader :success - - sig { params(success: T::Boolean).void } - attr_writer :success - - sig { params(success: T::Boolean).returns(T.attached_class) } - def self.new(success: nil) - end - - sig { override.returns({ success: T::Boolean }) } - def to_hash - end - end - end - end -end diff --git a/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi b/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi index 8cb41409..b751f074 100644 --- a/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi +++ b/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi @@ -331,11 +331,19 @@ module Onlyfans sig { params(next_page: String).void } attr_writer :next_page - sig { params(next_page: String).returns(T.attached_class) } - def self.new(next_page: nil) + sig { returns(T.nilable(String)) } + attr_reader :notice + + sig { params(notice: String).void } + attr_writer :notice + + sig do + params(next_page: String, notice: String).returns(T.attached_class) + end + def self.new(next_page: nil, notice: nil) end - sig { override.returns({ next_page: String }) } + sig { override.returns({ next_page: String, notice: String }) } def to_hash end end @@ -349,12 +357,6 @@ module Onlyfans ) end - sig { returns(T.nilable(T::Boolean)) } - attr_reader :has_more - - sig { params(has_more: T::Boolean).void } - attr_writer :has_more - sig do returns( T.nilable( @@ -378,20 +380,18 @@ module Onlyfans sig do params( - has_more: T::Boolean, items: T::Array[ Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item::OrHash ] ).returns(T.attached_class) end - def self.new(has_more: nil, items: nil) + def self.new(items: nil) end sig do override.returns( { - has_more: T::Boolean, items: T::Array[ Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item diff --git a/rbi/onlyfans/models/smart_link_list_fans_params.rbi b/rbi/onlyfans/models/smart_link_list_fans_params.rbi index 727a2013..70b54bb6 100644 --- a/rbi/onlyfans/models/smart_link_list_fans_params.rbi +++ b/rbi/onlyfans/models/smart_link_list_fans_params.rbi @@ -56,6 +56,14 @@ module Onlyfans sig { params(offset: Integer).void } attr_writer :offset + # Optional - Filter to returning subscribers (fans previously subscribed before + # this subscription) + sig { returns(T.nilable(T::Boolean)) } + attr_reader :previously_subscribed + + sig { params(previously_subscribed: T::Boolean).void } + attr_writer :previously_subscribed + # Optional sort field. Default `-revenue_net` sig do returns(T.nilable(Onlyfans::SmartLinkListFansParams::Sort::OrSymbol)) @@ -67,6 +75,13 @@ module Onlyfans end attr_writer :sort + # Optional - Filter to fans who subscribed via a promotion/offer + sig { returns(T.nilable(T::Boolean)) } + attr_reader :subscribed_using_promo + + sig { params(subscribed_using_promo: T::Boolean).void } + attr_writer :subscribed_using_promo + sig do params( smart_link_id: String, @@ -76,7 +91,9 @@ module Onlyfans min_revenue_net: Float, min_tips_net: Float, offset: Integer, + previously_subscribed: T::Boolean, sort: Onlyfans::SmartLinkListFansParams::Sort::OrSymbol, + subscribed_using_promo: T::Boolean, request_options: Onlyfans::RequestOptions::OrHash ).returns(T.attached_class) end @@ -94,8 +111,13 @@ module Onlyfans min_tips_net: nil, # Offset for pagination. Default `0` offset: nil, + # Optional - Filter to returning subscribers (fans previously subscribed before + # this subscription) + previously_subscribed: nil, # Optional sort field. Default `-revenue_net` sort: nil, + # Optional - Filter to fans who subscribed via a promotion/offer + subscribed_using_promo: nil, request_options: {} ) end @@ -110,7 +132,9 @@ module Onlyfans min_revenue_net: Float, min_tips_net: Float, offset: Integer, + previously_subscribed: T::Boolean, sort: Onlyfans::SmartLinkListFansParams::Sort::OrSymbol, + subscribed_using_promo: T::Boolean, request_options: Onlyfans::RequestOptions } ) diff --git a/rbi/onlyfans/models/smart_link_list_fans_response.rbi b/rbi/onlyfans/models/smart_link_list_fans_response.rbi index d813e3fe..9436b284 100644 --- a/rbi/onlyfans/models/smart_link_list_fans_response.rbi +++ b/rbi/onlyfans/models/smart_link_list_fans_response.rbi @@ -323,12 +323,18 @@ module Onlyfans sig { params(offset: Integer).void } attr_writer :offset + sig { returns(T.nilable(String)) } + attr_accessor :previously_subscribed + sig { returns(T.nilable(String)) } attr_reader :sort sig { params(sort: String).void } attr_writer :sort + sig { returns(T.nilable(String)) } + attr_accessor :subscribed_using_promo + sig do params( has_messages: T.nilable(String), @@ -337,7 +343,9 @@ module Onlyfans min_revenue_net: T.nilable(String), min_tips_net: T.nilable(String), offset: Integer, - sort: String + previously_subscribed: T.nilable(String), + sort: String, + subscribed_using_promo: T.nilable(String) ).returns(T.attached_class) end def self.new( @@ -347,7 +355,9 @@ module Onlyfans min_revenue_net: nil, min_tips_net: nil, offset: nil, - sort: nil + previously_subscribed: nil, + sort: nil, + subscribed_using_promo: nil ) end @@ -360,7 +370,9 @@ module Onlyfans min_revenue_net: T.nilable(String), min_tips_net: T.nilable(String), offset: Integer, - sort: String + previously_subscribed: T.nilable(String), + sort: String, + subscribed_using_promo: T.nilable(String) } ) end @@ -437,6 +449,23 @@ module Onlyfans sig { params(revenue_net: Integer).void } attr_writer :revenue_net + sig do + returns( + T.nilable( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights + ) + ) + end + attr_reader :subscription_insights + + sig do + params( + subscription_insights: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::OrHash + ).void + end + attr_writer :subscription_insights + sig { returns(T.nilable(Integer)) } attr_reader :tips_net @@ -461,6 +490,8 @@ module Onlyfans name: String, onlyfans_id: String, revenue_net: Integer, + subscription_insights: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::OrHash, tips_net: Integer, username: String ).returns(T.attached_class) @@ -476,6 +507,7 @@ module Onlyfans name: nil, onlyfans_id: nil, revenue_net: nil, + subscription_insights: nil, tips_net: nil, username: nil ) @@ -494,6 +526,8 @@ module Onlyfans name: String, onlyfans_id: String, revenue_net: Integer, + subscription_insights: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, tips_net: Integer, username: String } @@ -501,6 +535,165 @@ module Onlyfans end def to_hash end + + class SubscriptionInsights < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, + Onlyfans::Internal::AnyHash + ) + end + + sig do + returns( + T.nilable( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription + ) + ) + end + attr_reader :current_subscription + + sig do + params( + current_subscription: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription::OrHash + ).void + end + attr_writer :current_subscription + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :current_subscription_from_smart_link + + sig do + params(current_subscription_from_smart_link: T::Boolean).void + end + attr_writer :current_subscription_from_smart_link + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :has_subscription_data + + sig { params(has_subscription_data: T::Boolean).void } + attr_writer :has_subscription_data + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :previously_subscribed + + sig { params(previously_subscribed: T::Boolean).void } + attr_writer :previously_subscribed + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :subscribed_using_promo + + sig { params(subscribed_using_promo: T::Boolean).void } + attr_writer :subscribed_using_promo + + sig do + params( + current_subscription: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription::OrHash, + current_subscription_from_smart_link: T::Boolean, + has_subscription_data: T::Boolean, + previously_subscribed: T::Boolean, + subscribed_using_promo: T::Boolean + ).returns(T.attached_class) + end + def self.new( + current_subscription: nil, + current_subscription_from_smart_link: nil, + has_subscription_data: nil, + previously_subscribed: nil, + subscribed_using_promo: nil + ) + end + + sig do + override.returns( + { + current_subscription: + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, + current_subscription_from_smart_link: T::Boolean, + has_subscription_data: T::Boolean, + previously_subscribed: T::Boolean, + subscribed_using_promo: T::Boolean + } + ) + end + def to_hash + end + + class CurrentSubscription < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, + Onlyfans::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_reader :action + + sig { params(action: String).void } + attr_writer :action + + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_free + + sig { params(is_free: T::Boolean).void } + attr_writer :is_free + + sig { returns(T.nilable(Integer)) } + attr_reader :price + + sig { params(price: Integer).void } + attr_writer :price + + sig { returns(T.nilable(Integer)) } + attr_reader :regular_price + + sig { params(regular_price: Integer).void } + attr_writer :regular_price + + sig { returns(T.nilable(String)) } + attr_reader :type + + sig { params(type: String).void } + attr_writer :type + + sig do + params( + action: String, + is_free: T::Boolean, + price: Integer, + regular_price: Integer, + type: String + ).returns(T.attached_class) + end + def self.new( + action: nil, + is_free: nil, + price: nil, + regular_price: nil, + type: nil + ) + end + + sig do + override.returns( + { + action: String, + is_free: T::Boolean, + price: Integer, + regular_price: Integer, + type: String + } + ) + end + def to_hash + end + end + end end class Summary < Onlyfans::Internal::Type::BaseModel diff --git a/rbi/onlyfans/models/smart_link_list_params.rbi b/rbi/onlyfans/models/smart_link_list_params.rbi index 30e4fe8c..ecd2108f 100644 --- a/rbi/onlyfans/models/smart_link_list_params.rbi +++ b/rbi/onlyfans/models/smart_link_list_params.rbi @@ -15,6 +15,12 @@ module Onlyfans sig { returns(T.nilable(String)) } attr_accessor :account_ids + sig { returns(T.nilable(Onlyfans::SmartLinkListParams::Filter)) } + attr_reader :filter + + sig { params(filter: Onlyfans::SmartLinkListParams::Filter::OrHash).void } + attr_writer :filter + # The number of Smart Links to return. Default `50`. Must be at least 1. Must not # be greater than 1000. sig { returns(T.nilable(Integer)) } @@ -23,7 +29,7 @@ module Onlyfans sig { params(limit: Integer).void } attr_writer :limit - # Comma-separated Meta Pixel IDs to include. + # Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. sig { returns(T.nilable(String)) } attr_accessor :meta_pixel_ids @@ -38,28 +44,37 @@ module Onlyfans sig { params(offset: Integer).void } attr_writer :offset + # Comma-separated ad platform Pixel IDs to include. + sig { returns(T.nilable(String)) } + attr_accessor :pixel_ids + sig do params( account_ids: T.nilable(String), + filter: Onlyfans::SmartLinkListParams::Filter::OrHash, limit: Integer, meta_pixel_ids: T.nilable(String), name: T.nilable(String), offset: Integer, + pixel_ids: T.nilable(String), request_options: Onlyfans::RequestOptions::OrHash ).returns(T.attached_class) end def self.new( # Comma-separated account prefixed IDs to include. account_ids: nil, + filter: nil, # The number of Smart Links to return. Default `50`. Must be at least 1. Must not # be greater than 1000. limit: nil, - # Comma-separated Meta Pixel IDs to include. + # Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. meta_pixel_ids: nil, # Filter Smart Links by name. Must not be greater than 255 characters. name: nil, # The offset used for pagination. Default `0`. Must be at least 0. offset: nil, + # Comma-separated ad platform Pixel IDs to include. + pixel_ids: nil, request_options: {} ) end @@ -68,16 +83,46 @@ module Onlyfans override.returns( { account_ids: T.nilable(String), + filter: Onlyfans::SmartLinkListParams::Filter, limit: Integer, meta_pixel_ids: T.nilable(String), name: T.nilable(String), offset: Integer, + pixel_ids: T.nilable(String), request_options: Onlyfans::RequestOptions } ) end def to_hash end + + class Filter < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::SmartLinkListParams::Filter, + Onlyfans::Internal::AnyHash + ) + end + + # Must not be greater than 50 characters. + sig { returns(T.nilable(T::Array[String])) } + attr_reader :tags + + sig { params(tags: T::Array[String]).void } + attr_writer :tags + + sig { params(tags: T::Array[String]).returns(T.attached_class) } + def self.new( + # Must not be greater than 50 characters. + tags: nil + ) + end + + sig { override.returns({ tags: T::Array[String] }) } + def to_hash + end + end end end end diff --git a/rbi/onlyfans/models/smart_link_postback_create_params.rbi b/rbi/onlyfans/models/smart_link_postback_create_params.rbi index b17a6626..cfdd1792 100644 --- a/rbi/onlyfans/models/smart_link_postback_create_params.rbi +++ b/rbi/onlyfans/models/smart_link_postback_create_params.rbi @@ -27,11 +27,53 @@ module Onlyfans end attr_accessor :smart_link_scope - # The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and - # `{ttclid}` are replaced when the postback is dispatched. + # The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, + # `{gclid}`, and `{ttclid}` are replaced when the postback is dispatched. sig { returns(String) } attr_accessor :url + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + + # Optional request headers. Header values may include postback variables. + sig do + returns( + T.nilable(T::Array[Onlyfans::SmartLinkPostbackCreateParams::Header]) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[Onlyfans::SmartLinkPostbackCreateParams::Header::OrHash] + ).void + end + attr_writer :headers + + # HTTP method used for the postback request. Defaults to `GET` when omitted. + sig do + returns( + T.nilable( + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::OrSymbol + ) + ) + end + attr_reader :http_method + + sig do + params( + http_method: + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::OrSymbol + ).void + end + attr_writer :http_method + # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. sig { returns(T.nilable(T::Array[String])) } attr_reader :smart_link_ids @@ -45,6 +87,11 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackCreateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: + T::Array[Onlyfans::SmartLinkPostbackCreateParams::Header::OrHash], + http_method: + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions::OrHash ).returns(T.attached_class) @@ -55,9 +102,16 @@ module Onlyfans # `global` fires for all Smart Links. `campaign_specific` fires only for selected # Smart Links. smart_link_scope:, - # The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and - # `{ttclid}` are replaced when the postback is dispatched. + # The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, + # `{gclid}`, and `{ttclid}` are replaced when the postback is dispatched. url:, + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + body: nil, + # Optional request headers. Header values may include postback variables. + headers: nil, + # HTTP method used for the postback request. Defaults to `GET` when omitted. + http_method: nil, # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. smart_link_ids: nil, request_options: {} @@ -71,6 +125,10 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackCreateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: T::Array[Onlyfans::SmartLinkPostbackCreateParams::Header], + http_method: + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions } @@ -114,6 +172,81 @@ module Onlyfans def self.values end end + + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::SmartLinkPostbackCreateParams::Header, + Onlyfans::Internal::AnyHash + ) + end + + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Must not be greater than 2000 characters. + sig { returns(T.nilable(String)) } + attr_accessor :value + + sig do + params(name: T.nilable(String), value: T.nilable(String)).returns( + T.attached_class + ) + end + def self.new( + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + name: nil, + # Must not be greater than 2000 characters. + value: nil + ) + end + + sig do + override.returns( + { name: T.nilable(String), value: T.nilable(String) } + ) + end + def to_hash + end + end + + # HTTP method used for the postback request. Defaults to `GET` when omitted. + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + GET = + T.let( + :GET, + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::TaggedSymbol + ) + POST = + T.let( + :POST, + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/onlyfans/models/smart_link_postback_create_response.rbi b/rbi/onlyfans/models/smart_link_postback_create_response.rbi index cb085dca..4eb91cf1 100644 --- a/rbi/onlyfans/models/smart_link_postback_create_response.rbi +++ b/rbi/onlyfans/models/smart_link_postback_create_response.rbi @@ -219,6 +219,12 @@ module Onlyfans sig { params(id: Integer).void } attr_writer :id + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + sig { returns(T.nilable(T::Array[String])) } attr_reader :conversion_types @@ -231,6 +237,33 @@ module Onlyfans sig { params(created_at: String).void } attr_writer :created_at + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header + ] + ) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header::OrHash + ] + ).void + end + attr_writer :headers + + sig { returns(T.nilable(String)) } + attr_reader :http_method + + sig { params(http_method: String).void } + attr_writer :http_method + sig { returns(T.nilable(String)) } attr_accessor :latest_response @@ -267,8 +300,14 @@ module Onlyfans sig do params( id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header::OrHash + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[T.anything], smart_link_scope: String, @@ -279,8 +318,11 @@ module Onlyfans end def self.new( id: nil, + body: nil, conversion_types: nil, created_at: nil, + headers: nil, + http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, @@ -294,8 +336,14 @@ module Onlyfans override.returns( { id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[T.anything], smart_link_scope: String, @@ -307,6 +355,36 @@ module Onlyfans end def to_hash end + + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header, + Onlyfans::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + sig { returns(T.nilable(String)) } + attr_reader :value + + sig { params(value: String).void } + attr_writer :value + + sig { params(name: String, value: String).returns(T.attached_class) } + def self.new(name: nil, value: nil) + end + + sig { override.returns({ name: String, value: String }) } + def to_hash + end + end end end end diff --git a/rbi/onlyfans/models/smart_link_postback_list_response.rbi b/rbi/onlyfans/models/smart_link_postback_list_response.rbi index 00ee617b..2337d7c5 100644 --- a/rbi/onlyfans/models/smart_link_postback_list_response.rbi +++ b/rbi/onlyfans/models/smart_link_postback_list_response.rbi @@ -227,6 +227,12 @@ module Onlyfans sig { params(id: Integer).void } attr_writer :id + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + sig { returns(T.nilable(T::Array[String])) } attr_reader :conversion_types @@ -239,6 +245,33 @@ module Onlyfans sig { params(created_at: String).void } attr_writer :created_at + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header + ] + ) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header::OrHash + ] + ).void + end + attr_writer :headers + + sig { returns(T.nilable(String)) } + attr_reader :http_method + + sig { params(http_method: String).void } + attr_writer :http_method + sig do returns( T.nilable( @@ -304,8 +337,14 @@ module Onlyfans sig do params( id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header::OrHash + ], + http_method: String, latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse::OrHash, smart_link_ids: T::Array[String], @@ -320,8 +359,11 @@ module Onlyfans end def self.new( id: nil, + body: nil, conversion_types: nil, created_at: nil, + headers: nil, + http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, @@ -335,8 +377,14 @@ module Onlyfans override.returns( { id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header + ], + http_method: String, latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse, smart_link_ids: T::Array[String], @@ -353,6 +401,36 @@ module Onlyfans def to_hash end + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header, + Onlyfans::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + sig { returns(T.nilable(String)) } + attr_reader :value + + sig { params(value: String).void } + attr_writer :value + + sig { params(name: String, value: String).returns(T.attached_class) } + def self.new(name: nil, value: nil) + end + + sig { override.returns({ name: String, value: String }) } + def to_hash + end + end + class LatestResponse < Onlyfans::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi b/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi index aac6f55b..2e8bd979 100644 --- a/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi +++ b/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi @@ -222,6 +222,12 @@ module Onlyfans sig { params(id: Integer).void } attr_writer :id + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + sig { returns(T.nilable(T::Array[String])) } attr_reader :conversion_types @@ -234,6 +240,33 @@ module Onlyfans sig { params(created_at: String).void } attr_writer :created_at + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header + ] + ) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header::OrHash + ] + ).void + end + attr_writer :headers + + sig { returns(T.nilable(String)) } + attr_reader :http_method + + sig { params(http_method: String).void } + attr_writer :http_method + sig { returns(T.nilable(String)) } attr_accessor :latest_response @@ -285,8 +318,14 @@ module Onlyfans sig do params( id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header::OrHash + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[String], smart_link_scope: String, @@ -300,8 +339,11 @@ module Onlyfans end def self.new( id: nil, + body: nil, conversion_types: nil, created_at: nil, + headers: nil, + http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, @@ -315,8 +357,14 @@ module Onlyfans override.returns( { id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[String], smart_link_scope: String, @@ -332,6 +380,36 @@ module Onlyfans def to_hash end + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header, + Onlyfans::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + sig { returns(T.nilable(String)) } + attr_reader :value + + sig { params(value: String).void } + attr_writer :value + + sig { params(name: String, value: String).returns(T.attached_class) } + def self.new(name: nil, value: nil) + end + + sig { override.returns({ name: String, value: String }) } + def to_hash + end + end + class SmartLink < Onlyfans::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/onlyfans/models/smart_link_postback_update_params.rbi b/rbi/onlyfans/models/smart_link_postback_update_params.rbi index 0b0cf855..8e9c0780 100644 --- a/rbi/onlyfans/models/smart_link_postback_update_params.rbi +++ b/rbi/onlyfans/models/smart_link_postback_update_params.rbi @@ -33,6 +33,48 @@ module Onlyfans sig { returns(String) } attr_accessor :url + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + + # Optional request headers. Header values may include postback variables. + sig do + returns( + T.nilable(T::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header]) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header::OrHash] + ).void + end + attr_writer :headers + + # HTTP method used for the postback request. Existing value is kept when omitted. + sig do + returns( + T.nilable( + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::OrSymbol + ) + ) + end + attr_reader :http_method + + sig do + params( + http_method: + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::OrSymbol + ).void + end + attr_writer :http_method + # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. sig { returns(T.nilable(T::Array[String])) } attr_reader :smart_link_ids @@ -47,6 +89,11 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackUpdateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: + T::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header::OrHash], + http_method: + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions::OrHash ).returns(T.attached_class) @@ -59,6 +106,13 @@ module Onlyfans smart_link_scope:, # The destination URL. url:, + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + body: nil, + # Optional request headers. Header values may include postback variables. + headers: nil, + # HTTP method used for the postback request. Existing value is kept when omitted. + http_method: nil, # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. smart_link_ids: nil, request_options: {} @@ -73,6 +127,10 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackUpdateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: T::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header], + http_method: + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions } @@ -115,6 +173,81 @@ module Onlyfans def self.values end end + + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::SmartLinkPostbackUpdateParams::Header, + Onlyfans::Internal::AnyHash + ) + end + + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Must not be greater than 2000 characters. + sig { returns(T.nilable(String)) } + attr_accessor :value + + sig do + params(name: T.nilable(String), value: T.nilable(String)).returns( + T.attached_class + ) + end + def self.new( + # This field is required when headers._.value is present. Must match + # the regex /\A[A-Za-z0-9!#$%&'_+.^\_`|~-]+\z/. Must not be greater than 100 + # characters. + name: nil, + # Must not be greater than 2000 characters. + value: nil + ) + end + + sig do + override.returns( + { name: T.nilable(String), value: T.nilable(String) } + ) + end + def to_hash + end + end + + # HTTP method used for the postback request. Existing value is kept when omitted. + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + GET = + T.let( + :GET, + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::TaggedSymbol + ) + POST = + T.let( + :POST, + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/onlyfans/models/smart_link_postback_update_response.rbi b/rbi/onlyfans/models/smart_link_postback_update_response.rbi index bfbb1767..151a309d 100644 --- a/rbi/onlyfans/models/smart_link_postback_update_response.rbi +++ b/rbi/onlyfans/models/smart_link_postback_update_response.rbi @@ -219,6 +219,12 @@ module Onlyfans sig { params(id: Integer).void } attr_writer :id + sig { returns(T.nilable(String)) } + attr_reader :body + + sig { params(body: String).void } + attr_writer :body + sig { returns(T.nilable(T::Array[String])) } attr_reader :conversion_types @@ -231,6 +237,33 @@ module Onlyfans sig { params(created_at: String).void } attr_writer :created_at + sig do + returns( + T.nilable( + T::Array[ + Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header + ] + ) + ) + end + attr_reader :headers + + sig do + params( + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header::OrHash + ] + ).void + end + attr_writer :headers + + sig { returns(T.nilable(String)) } + attr_reader :http_method + + sig { params(http_method: String).void } + attr_writer :http_method + sig { returns(T.nilable(String)) } attr_accessor :latest_response @@ -282,8 +315,14 @@ module Onlyfans sig do params( id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header::OrHash + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[String], smart_link_scope: String, @@ -297,8 +336,11 @@ module Onlyfans end def self.new( id: nil, + body: nil, conversion_types: nil, created_at: nil, + headers: nil, + http_method: nil, latest_response: nil, smart_link_ids: nil, smart_link_scope: nil, @@ -312,8 +354,14 @@ module Onlyfans override.returns( { id: Integer, + body: String, conversion_types: T::Array[String], created_at: String, + headers: + T::Array[ + Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header + ], + http_method: String, latest_response: T.nilable(String), smart_link_ids: T::Array[String], smart_link_scope: String, @@ -329,6 +377,36 @@ module Onlyfans def to_hash end + class Header < Onlyfans::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header, + Onlyfans::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + sig { returns(T.nilable(String)) } + attr_reader :value + + sig { params(value: String).void } + attr_writer :value + + sig { params(name: String, value: String).returns(T.attached_class) } + def self.new(name: nil, value: nil) + end + + sig { override.returns({ name: String, value: String }) } + def to_hash + end + end + class SmartLink < Onlyfans::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/onlyfans/resources/analytics/financial/profitability.rbi b/rbi/onlyfans/resources/analytics/financial/profitability.rbi index dba998f5..205f4678 100644 --- a/rbi/onlyfans/resources/analytics/financial/profitability.rbi +++ b/rbi/onlyfans/resources/analytics/financial/profitability.rbi @@ -14,9 +14,7 @@ module Onlyfans months: Integer, request_options: Onlyfans::RequestOptions::OrHash ).returns( - T::Array[ - Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem - ] + Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse ) end def get_history( @@ -40,9 +38,7 @@ module Onlyfans year: Integer, request_options: Onlyfans::RequestOptions::OrHash ).returns( - T::Array[ - Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem - ] + Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse ) end def get_profitability( diff --git a/rbi/onlyfans/resources/chats.rbi b/rbi/onlyfans/resources/chats.rbi index cb39e5e0..69fcaaf6 100644 --- a/rbi/onlyfans/resources/chats.rbi +++ b/rbi/onlyfans/resources/chats.rbi @@ -160,8 +160,8 @@ module Onlyfans end # Calling this endpoint will show the target fan a "Model is typing..." note in - # the chat for ~4 seconds. If you want to continue showing the indicator call this - # endpoint multiple times. Free - no credits charged. + # the chat for ~4 seconds. Duplicate calls for the same account and chat are + # coalesced during that window. sig do params( chat_id: String, diff --git a/rbi/onlyfans/resources/data_exports.rbi b/rbi/onlyfans/resources/data_exports.rbi index edce51b9..e9252095 100644 --- a/rbi/onlyfans/resources/data_exports.rbi +++ b/rbi/onlyfans/resources/data_exports.rbi @@ -50,11 +50,12 @@ module Onlyfans # (optional, USD), `maxSubscribePrice` (optional, USD), `location` (optional), # `minPostsCount` (optional, minimum posts), `minPhotosCount` (optional, minimum # photos), `minVideosCount` (optional, minimum videos), `minSubscribersCount` - # (optional, minimum subscribers), `minJoinDate` (optional, ISO 8601 date), - # `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 - # date, profile added to DB after), `createdAtTo` (optional, ISO 8601 date, - # profile added to DB before), `instagram` (optional), `twitter` (optional), - # `tiktok` (optional), `maxResults` (optional, limit results). + # (optional, minimum subscribers), `maxSubscribersCount` (optional, maximum + # subscribers), `minJoinDate` (optional, ISO 8601 date), `minLastSeenAt` + # (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601 date, profile + # added to DB after), `createdAtTo` (optional, ISO 8601 date, profile added to DB + # before), `instagram` (optional), `twitter` (optional), `tiktok` (optional), + # `maxResults` (optional, limit results). options: nil, request_options: {} ) diff --git a/rbi/onlyfans/resources/link_tags.rbi b/rbi/onlyfans/resources/link_tags.rbi index 2d33463f..da708996 100644 --- a/rbi/onlyfans/resources/link_tags.rbi +++ b/rbi/onlyfans/resources/link_tags.rbi @@ -2,10 +2,10 @@ module Onlyfans module Resources - # APIs for managing tags on free trial links and tracking links + # APIs for managing tags on free trial links, tracking links, and Smart Links class LinkTags - # Get all existing tags that have been used on free trial links and/or tracking - # links for this account. This is a free endpoint. + # Get all existing tags that have been used on free trial links, tracking links, + # and/or Smart Links for this account. This is a free endpoint. sig do params( type: Onlyfans::LinkTagListParams::Type::OrSymbol, @@ -13,7 +13,7 @@ module Onlyfans ).returns(Onlyfans::Models::LinkTagListResponse) end def list( - # Filter by link type. If not provided, returns tags for both types. + # Filter by link type. If not provided, returns tags for all types. type: nil, request_options: {} ) diff --git a/rbi/onlyfans/resources/media.rbi b/rbi/onlyfans/resources/media.rbi index b5785915..338c4a45 100644 --- a/rbi/onlyfans/resources/media.rbi +++ b/rbi/onlyfans/resources/media.rbi @@ -12,14 +12,15 @@ module Onlyfans # Downloads a file directly from a `https://cdn*.onlyfans.com/*` URL. When the # file is already cached on our CDN, this endpoint returns a `302` redirect to a # `https://cdn.fansapi.com/*` URL. Most HTTP clients follow redirects - # automatically (`curl` requires `-L`). Otherwise, the file is streamed through - # our proxies and queued for caching. + # automatically (`curl` requires `-L`). Otherwise, the file is redirected to + # `dl.fansapi.com`, which streams it through the account proxy and reports billing + # back to the API. sig do params( cdn_url: String, account: String, request_options: Onlyfans::RequestOptions::OrHash - ).returns(String) + ).void end def download( # Optional parameter. The CDN URL to scrape. **Keep in mind that these URLs expire diff --git a/rbi/onlyfans/resources/media/vault/lists.rbi b/rbi/onlyfans/resources/media/vault/lists.rbi index 35ba99a4..18e38c0b 100644 --- a/rbi/onlyfans/resources/media/vault/lists.rbi +++ b/rbi/onlyfans/resources/media/vault/lists.rbi @@ -47,14 +47,18 @@ module Onlyfans params( list_id: String, account: String, + name: String, request_options: Onlyfans::RequestOptions::OrHash ).returns(Onlyfans::Models::Media::Vault::ListUpdateResponse) end def update( - # The ID of the list + # Path param: The ID of the list list_id, - # The Account ID + # Path param: The Account ID account:, + # Body param: The new name for the vault list. Must not be greater than 255 + # characters. + name:, request_options: {} ) end diff --git a/rbi/onlyfans/resources/messages.rbi b/rbi/onlyfans/resources/messages.rbi index d3acbbd4..2fa40e6e 100644 --- a/rbi/onlyfans/resources/messages.rbi +++ b/rbi/onlyfans/resources/messages.rbi @@ -3,35 +3,6 @@ module Onlyfans module Resources class Messages - # Attach Tags (Release Forms) to a message that has already been sent. Please - # note, that this is a "sync" operation - for example, if you provide empty - # `rfTag` it will remove all existing tags already attached to the message. - sig do - params( - message_id: String, - account: String, - rf_guest: String, - rf_partner: String, - rf_tag: String, - request_options: Onlyfans::RequestOptions::OrHash - ).returns(Onlyfans::Models::MessageAttachTagsResponse) - end - def attach_tags( - # Path param: The ID of the message to attach the release forms to. This can be - # ONLY a message sent by the creator. - message_id, - # Path param: The Account ID - account:, - # Body param: Array of OnlyFans Release Form Guest IDs to tag in your message - rf_guest: nil, - # Body param: Array of OnlyFans Release Form Partners IDs to tag in your message - rf_partner: nil, - # Body param: Array of OnlyFans Creator User IDs to tag in your message - rf_tag: nil, - request_options: {} - ) - end - # @api private sig { params(client: Onlyfans::Client).returns(T.attached_class) } def self.new(client:) diff --git a/rbi/onlyfans/resources/release_forms.rbi b/rbi/onlyfans/resources/release_forms.rbi index f6208e3f..26c84d0b 100644 --- a/rbi/onlyfans/resources/release_forms.rbi +++ b/rbi/onlyfans/resources/release_forms.rbi @@ -40,7 +40,8 @@ module Onlyfans # Get a paginated list of users that can be tagged in release forms. These are # verified creators who have signed release forms to appear in your content. Use - # `offset` and `limit` for pagination. + # `offset` and `limit` for pagination, following `_pagination.next_page` until it + # is `null`. sig do params( account: String, diff --git a/rbi/onlyfans/resources/smart_link_postbacks.rbi b/rbi/onlyfans/resources/smart_link_postbacks.rbi index bec33b83..779f1ee8 100644 --- a/rbi/onlyfans/resources/smart_link_postbacks.rbi +++ b/rbi/onlyfans/resources/smart_link_postbacks.rbi @@ -11,6 +11,11 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackCreateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: + T::Array[Onlyfans::SmartLinkPostbackCreateParams::Header::OrHash], + http_method: + Onlyfans::SmartLinkPostbackCreateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions::OrHash ).returns(Onlyfans::Models::SmartLinkPostbackCreateResponse) @@ -21,9 +26,16 @@ module Onlyfans # `global` fires for all Smart Links. `campaign_specific` fires only for selected # Smart Links. smart_link_scope:, - # The destination URL. Variables such as `{click_id}`, `{fbclid}`, `{gclid}`, and - # `{ttclid}` are replaced when the postback is dispatched. + # The destination URL. Variables such as `{external_click_id}`, `{fbclid}`, + # `{gclid}`, and `{ttclid}` are replaced when the postback is dispatched. url:, + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + body: nil, + # Optional request headers. Header values may include postback variables. + headers: nil, + # HTTP method used for the postback request. Defaults to `GET` when omitted. + http_method: nil, # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. smart_link_ids: nil, request_options: {} @@ -52,6 +64,11 @@ module Onlyfans smart_link_scope: Onlyfans::SmartLinkPostbackUpdateParams::SmartLinkScope::OrSymbol, url: String, + body: String, + headers: + T::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header::OrHash], + http_method: + Onlyfans::SmartLinkPostbackUpdateParams::HTTPMethod::OrSymbol, smart_link_ids: T::Array[String], request_options: Onlyfans::RequestOptions::OrHash ).returns(Onlyfans::Models::SmartLinkPostbackUpdateResponse) @@ -65,6 +82,13 @@ module Onlyfans smart_link_scope:, # The destination URL. url:, + # Optional request body template for POST postbacks. Variables are replaced when + # the postback is dispatched. + body: nil, + # Optional request headers. Header values may include postback variables. + headers: nil, + # HTTP method used for the postback request. Existing value is kept when omitted. + http_method: nil, # Smart Link ULIDs. Required when `smart_link_scope` is `campaign_specific`. smart_link_ids: nil, request_options: {} diff --git a/rbi/onlyfans/resources/smart_links.rbi b/rbi/onlyfans/resources/smart_links.rbi index 2d123172..71ee8033 100644 --- a/rbi/onlyfans/resources/smart_links.rbi +++ b/rbi/onlyfans/resources/smart_links.rbi @@ -48,25 +48,30 @@ module Onlyfans sig do params( account_ids: T.nilable(String), + filter: Onlyfans::SmartLinkListParams::Filter::OrHash, limit: Integer, meta_pixel_ids: T.nilable(String), name: T.nilable(String), offset: Integer, + pixel_ids: T.nilable(String), request_options: Onlyfans::RequestOptions::OrHash ).returns(Onlyfans::Models::SmartLinkListResponse) end def list( # Comma-separated account prefixed IDs to include. account_ids: nil, + filter: nil, # The number of Smart Links to return. Default `50`. Must be at least 1. Must not # be greater than 1000. limit: nil, - # Comma-separated Meta Pixel IDs to include. + # Deprecated alias for `pixel_ids`. Comma-separated Pixel IDs to include. meta_pixel_ids: nil, # Filter Smart Links by name. Must not be greater than 255 characters. name: nil, # The offset used for pagination. Default `0`. Must be at least 0. offset: nil, + # Comma-separated ad platform Pixel IDs to include. + pixel_ids: nil, request_options: {} ) end @@ -168,7 +173,9 @@ module Onlyfans min_revenue_net: Float, min_tips_net: Float, offset: Integer, + previously_subscribed: T::Boolean, sort: Onlyfans::SmartLinkListFansParams::Sort::OrSymbol, + subscribed_using_promo: T::Boolean, request_options: Onlyfans::RequestOptions::OrHash ).returns(Onlyfans::Models::SmartLinkListFansResponse) end @@ -187,8 +194,13 @@ module Onlyfans min_tips_net: nil, # Offset for pagination. Default `0` offset: nil, + # Optional - Filter to returning subscribers (fans previously subscribed before + # this subscription) + previously_subscribed: nil, # Optional sort field. Default `-revenue_net` sort: nil, + # Optional - Filter to fans who subscribed via a promotion/offer + subscribed_using_promo: nil, request_options: {} ) end diff --git a/sig/onlyfans/models.rbs b/sig/onlyfans/models.rbs index aab57f68..0ec05136 100644 --- a/sig/onlyfans/models.rbs +++ b/sig/onlyfans/models.rbs @@ -123,8 +123,6 @@ module Onlyfans class MeRetrieveParams = Onlyfans::Models::MeRetrieveParams - class MessageAttachTagsParams = Onlyfans::Models::MessageAttachTagsParams - class NotificationGetCountsParams = Onlyfans::Models::NotificationGetCountsParams class NotificationListParams = Onlyfans::Models::NotificationListParams diff --git a/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs b/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs index 7523b0a6..363e7b8a 100644 --- a/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs +++ b/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs @@ -2,64 +2,153 @@ module Onlyfans module Models module Analytics module Financial - type profitability_get_history_response_item = + type profitability_get_history_response = { - gross_revenue: Float, - margin: Float, - month: Integer, - net_revenue: Float, - profit: Float, - year: Integer + data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] } - class ProfitabilityGetHistoryResponseItem < Onlyfans::Internal::Type::BaseModel - attr_reader gross_revenue: Float? + class ProfitabilityGetHistoryResponse < Onlyfans::Internal::Type::BaseModel + attr_reader data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data]? - def gross_revenue=: (Float) -> Float + def data=: ( + ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] + ) -> ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] - attr_reader margin: Float? + def initialize: ( + ?data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] + ) -> void - def margin=: (Float) -> Float + def to_hash: -> { + data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data] + } - attr_reader month: Integer? + type data = + { + active_milestones: String?, + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: ::Array[top], + creator_name: String, + has_commission_for_period: bool, + has_costs_for_period: bool, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: ::Array[top], + referral_note: String?, + total_costs: String, + year: Integer + } - def month=: (Integer) -> Integer + class Data < Onlyfans::Internal::Type::BaseModel + attr_accessor active_milestones: String? - attr_reader net_revenue: Float? + attr_reader agency_earnings: String? - def net_revenue=: (Float) -> Float + def agency_earnings=: (String) -> String - attr_reader profit: Float? + attr_reader commission_amount: String? - def profit=: (Float) -> Float + def commission_amount=: (String) -> String - attr_reader year: Integer? + attr_reader commission_rate: String? - def year=: (Integer) -> Integer + def commission_rate=: (String) -> String - def initialize: ( - ?gross_revenue: Float, - ?margin: Float, - ?month: Integer, - ?net_revenue: Float, - ?profit: Float, - ?year: Integer - ) -> void + attr_reader costs: ::Array[top]? - def to_hash: -> { - gross_revenue: Float, - margin: Float, - month: Integer, - net_revenue: Float, - profit: Float, - year: Integer - } - end + def costs=: (::Array[top]) -> ::Array[top] - type profitability_get_history_response = - ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem] + attr_reader creator_name: String? + + def creator_name=: (String) -> String + + attr_reader has_commission_for_period: bool? + + def has_commission_for_period=: (bool) -> bool + + attr_reader has_costs_for_period: bool? + + def has_costs_for_period=: (bool) -> bool + + attr_reader margin_percentage: String? + + def margin_percentage=: (String) -> String - ProfitabilityGetHistoryResponse: Onlyfans::Internal::Type::Converter + attr_reader month: Integer? + + def month=: (Integer) -> Integer + + attr_reader only_fans_user_id: Integer? + + def only_fans_user_id=: (Integer) -> Integer + + attr_reader profit: String? + + def profit=: (String) -> String + + attr_reader projected_net: String? + + def projected_net=: (String) -> String + + attr_reader rate_periods: ::Array[top]? + + def rate_periods=: (::Array[top]) -> ::Array[top] + + attr_accessor referral_note: String? + + attr_reader total_costs: String? + + def total_costs=: (String) -> String + + attr_reader year: Integer? + + def year=: (Integer) -> Integer + + def initialize: ( + ?active_milestones: String?, + ?agency_earnings: String, + ?commission_amount: String, + ?commission_rate: String, + ?costs: ::Array[top], + ?creator_name: String, + ?has_commission_for_period: bool, + ?has_costs_for_period: bool, + ?margin_percentage: String, + ?month: Integer, + ?only_fans_user_id: Integer, + ?profit: String, + ?projected_net: String, + ?rate_periods: ::Array[top], + ?referral_note: String?, + ?total_costs: String, + ?year: Integer + ) -> void + + def to_hash: -> { + active_milestones: String?, + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: ::Array[top], + creator_name: String, + has_commission_for_period: bool, + has_costs_for_period: bool, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: ::Array[top], + referral_note: String?, + total_costs: String, + year: Integer + } + end + end end end end diff --git a/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs b/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs index 3779bdbf..4b1ccc64 100644 --- a/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs +++ b/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs @@ -2,78 +2,153 @@ module Onlyfans module Models module Analytics module Financial - type profitability_get_profitability_response_item = + type profitability_get_profitability_response = { - commission: Float, - creator_id: Integer, - gross_revenue: Float, - margin: Float, - name: String, - net_revenue: Float, - profit: Float, - total_costs: Float + data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] } - class ProfitabilityGetProfitabilityResponseItem < Onlyfans::Internal::Type::BaseModel - attr_reader commission: Float? + class ProfitabilityGetProfitabilityResponse < Onlyfans::Internal::Type::BaseModel + attr_reader data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data]? - def commission=: (Float) -> Float + def data=: ( + ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] + ) -> ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] - attr_reader creator_id: Integer? + def initialize: ( + ?data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] + ) -> void - def creator_id=: (Integer) -> Integer + def to_hash: -> { + data: ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data] + } - attr_reader gross_revenue: Float? + type data = + { + active_milestones: String?, + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: ::Array[top], + creator_name: String, + has_commission_for_period: bool, + has_costs_for_period: bool, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: ::Array[top], + referral_note: String?, + total_costs: String, + year: Integer + } - def gross_revenue=: (Float) -> Float + class Data < Onlyfans::Internal::Type::BaseModel + attr_accessor active_milestones: String? - attr_reader margin: Float? + attr_reader agency_earnings: String? - def margin=: (Float) -> Float + def agency_earnings=: (String) -> String - attr_reader name: String? + attr_reader commission_amount: String? - def name=: (String) -> String + def commission_amount=: (String) -> String - attr_reader net_revenue: Float? + attr_reader commission_rate: String? - def net_revenue=: (Float) -> Float + def commission_rate=: (String) -> String - attr_reader profit: Float? + attr_reader costs: ::Array[top]? - def profit=: (Float) -> Float + def costs=: (::Array[top]) -> ::Array[top] - attr_reader total_costs: Float? + attr_reader creator_name: String? - def total_costs=: (Float) -> Float + def creator_name=: (String) -> String - def initialize: ( - ?commission: Float, - ?creator_id: Integer, - ?gross_revenue: Float, - ?margin: Float, - ?name: String, - ?net_revenue: Float, - ?profit: Float, - ?total_costs: Float - ) -> void + attr_reader has_commission_for_period: bool? - def to_hash: -> { - commission: Float, - creator_id: Integer, - gross_revenue: Float, - margin: Float, - name: String, - net_revenue: Float, - profit: Float, - total_costs: Float - } - end + def has_commission_for_period=: (bool) -> bool - type profitability_get_profitability_response = - ::Array[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem] + attr_reader has_costs_for_period: bool? + + def has_costs_for_period=: (bool) -> bool + + attr_reader margin_percentage: String? + + def margin_percentage=: (String) -> String + + attr_reader month: Integer? + + def month=: (Integer) -> Integer - ProfitabilityGetProfitabilityResponse: Onlyfans::Internal::Type::Converter + attr_reader only_fans_user_id: Integer? + + def only_fans_user_id=: (Integer) -> Integer + + attr_reader profit: String? + + def profit=: (String) -> String + + attr_reader projected_net: String? + + def projected_net=: (String) -> String + + attr_reader rate_periods: ::Array[top]? + + def rate_periods=: (::Array[top]) -> ::Array[top] + + attr_accessor referral_note: String? + + attr_reader total_costs: String? + + def total_costs=: (String) -> String + + attr_reader year: Integer? + + def year=: (Integer) -> Integer + + def initialize: ( + ?active_milestones: String?, + ?agency_earnings: String, + ?commission_amount: String, + ?commission_rate: String, + ?costs: ::Array[top], + ?creator_name: String, + ?has_commission_for_period: bool, + ?has_costs_for_period: bool, + ?margin_percentage: String, + ?month: Integer, + ?only_fans_user_id: Integer, + ?profit: String, + ?projected_net: String, + ?rate_periods: ::Array[top], + ?referral_note: String?, + ?total_costs: String, + ?year: Integer + ) -> void + + def to_hash: -> { + active_milestones: String?, + agency_earnings: String, + commission_amount: String, + commission_rate: String, + costs: ::Array[top], + creator_name: String, + has_commission_for_period: bool, + has_costs_for_period: bool, + margin_percentage: String, + month: Integer, + only_fans_user_id: Integer, + profit: String, + projected_net: String, + rate_periods: ::Array[top], + referral_note: String?, + total_costs: String, + year: Integer + } + end + end end end end diff --git a/sig/onlyfans/models/authenticate_start_params.rbs b/sig/onlyfans/models/authenticate_start_params.rbs index 4e499171..f9840cce 100644 --- a/sig/onlyfans/models/authenticate_start_params.rbs +++ b/sig/onlyfans/models/authenticate_start_params.rbs @@ -147,13 +147,14 @@ module Onlyfans } end - type proxy_country = :us | :uk + type proxy_country = :us | :uk | :gb module ProxyCountry extend Onlyfans::Internal::Type::Enum US: :us UK: :uk + GB: :gb def self?.values: -> ::Array[Onlyfans::Models::AuthenticateStartParams::proxy_country] end diff --git a/sig/onlyfans/models/client_session_create_params.rbs b/sig/onlyfans/models/client_session_create_params.rbs index 18feb0f7..942cb29c 100644 --- a/sig/onlyfans/models/client_session_create_params.rbs +++ b/sig/onlyfans/models/client_session_create_params.rbs @@ -34,13 +34,14 @@ module Onlyfans request_options: Onlyfans::RequestOptions } - type proxy_country = :us | :uk + type proxy_country = :us | :uk | :gb module ProxyCountry extend Onlyfans::Internal::Type::Enum US: :us UK: :uk + GB: :gb def self?.values: -> ::Array[Onlyfans::Models::ClientSessionCreateParams::proxy_country] end diff --git a/sig/onlyfans/models/data_export_list_response.rbs b/sig/onlyfans/models/data_export_list_response.rbs index a40a3d88..e5a02360 100644 --- a/sig/onlyfans/models/data_export_list_response.rbs +++ b/sig/onlyfans/models/data_export_list_response.rbs @@ -192,6 +192,7 @@ module Onlyfans end_date: String, export_columns: ::Array[String], failed_at: String?, + failed_downloads: Integer, failed_reason: String?, file_type: String, progress_percentage: Integer, @@ -243,6 +244,10 @@ module Onlyfans attr_accessor failed_at: String? + attr_reader failed_downloads: Integer? + + def failed_downloads=: (Integer) -> Integer + attr_accessor failed_reason: String? attr_reader file_type: String? @@ -284,6 +289,7 @@ module Onlyfans ?end_date: String, ?export_columns: ::Array[String], ?failed_at: String?, + ?failed_downloads: Integer, ?failed_reason: String?, ?file_type: String, ?progress_percentage: Integer, @@ -305,6 +311,7 @@ module Onlyfans end_date: String, export_columns: ::Array[String], failed_at: String?, + failed_downloads: Integer, failed_reason: String?, file_type: String, progress_percentage: Integer, diff --git a/sig/onlyfans/models/data_export_retrieve_response.rbs b/sig/onlyfans/models/data_export_retrieve_response.rbs index eafcffc3..4468efed 100644 --- a/sig/onlyfans/models/data_export_retrieve_response.rbs +++ b/sig/onlyfans/models/data_export_retrieve_response.rbs @@ -161,6 +161,7 @@ module Onlyfans end_date: String, export_columns: ::Array[String], failed_at: String?, + failed_downloads: Integer, failed_reason: String?, file_type: String, progress_percentage: Integer, @@ -202,6 +203,10 @@ module Onlyfans attr_accessor failed_at: String? + attr_reader failed_downloads: Integer? + + def failed_downloads=: (Integer) -> Integer + attr_accessor failed_reason: String? attr_reader file_type: String? @@ -241,6 +246,7 @@ module Onlyfans ?end_date: String, ?export_columns: ::Array[String], ?failed_at: String?, + ?failed_downloads: Integer, ?failed_reason: String?, ?file_type: String, ?progress_percentage: Integer, @@ -260,6 +266,7 @@ module Onlyfans end_date: String, export_columns: ::Array[String], failed_at: String?, + failed_downloads: Integer, failed_reason: String?, file_type: String, progress_percentage: Integer, diff --git a/sig/onlyfans/models/link_tag_list_params.rbs b/sig/onlyfans/models/link_tag_list_params.rbs index a1c0d2a8..34bf7b3a 100644 --- a/sig/onlyfans/models/link_tag_list_params.rbs +++ b/sig/onlyfans/models/link_tag_list_params.rbs @@ -24,13 +24,14 @@ module Onlyfans request_options: Onlyfans::RequestOptions } - type type_ = :trial_links | :tracking_links + type type_ = :trial_links | :tracking_links | :smart_links module Type extend Onlyfans::Internal::Type::Enum TRIAL_LINKS: :trial_links TRACKING_LINKS: :tracking_links + SMART_LINKS: :smart_links def self?.values: -> ::Array[Onlyfans::Models::LinkTagListParams::type_] end diff --git a/sig/onlyfans/models/media/vault/list_update_params.rbs b/sig/onlyfans/models/media/vault/list_update_params.rbs index a8030205..a32ee870 100644 --- a/sig/onlyfans/models/media/vault/list_update_params.rbs +++ b/sig/onlyfans/models/media/vault/list_update_params.rbs @@ -3,7 +3,7 @@ module Onlyfans module Media module Vault type list_update_params = - { account: String, list_id: String } + { account: String, list_id: String, name: String } & Onlyfans::Internal::Type::request_parameters class ListUpdateParams < Onlyfans::Internal::Type::BaseModel @@ -14,15 +14,19 @@ module Onlyfans attr_accessor list_id: String + attr_accessor name: String + def initialize: ( account: String, list_id: String, + name: String, ?request_options: Onlyfans::request_opts ) -> void def to_hash: -> { account: String, list_id: String, + name: String, request_options: Onlyfans::RequestOptions } end diff --git a/sig/onlyfans/models/media_download_response.rbs b/sig/onlyfans/models/media_download_response.rbs deleted file mode 100644 index 9cfc4f2a..00000000 --- a/sig/onlyfans/models/media_download_response.rbs +++ /dev/null @@ -1,5 +0,0 @@ -module Onlyfans - module Models - class MediaDownloadResponse = String - end -end diff --git a/sig/onlyfans/models/message_attach_tags_params.rbs b/sig/onlyfans/models/message_attach_tags_params.rbs deleted file mode 100644 index 67a7933d..00000000 --- a/sig/onlyfans/models/message_attach_tags_params.rbs +++ /dev/null @@ -1,52 +0,0 @@ -module Onlyfans - module Models - type message_attach_tags_params = - { - account: String, - message_id: String, - rf_guest: String, - rf_partner: String, - rf_tag: String - } - & Onlyfans::Internal::Type::request_parameters - - class MessageAttachTagsParams < Onlyfans::Internal::Type::BaseModel - extend Onlyfans::Internal::Type::RequestParameters::Converter - include Onlyfans::Internal::Type::RequestParameters - - attr_accessor account: String - - attr_accessor message_id: String - - attr_reader rf_guest: String? - - def rf_guest=: (String) -> String - - attr_reader rf_partner: String? - - def rf_partner=: (String) -> String - - attr_reader rf_tag: String? - - def rf_tag=: (String) -> String - - def initialize: ( - account: String, - message_id: String, - ?rf_guest: String, - ?rf_partner: String, - ?rf_tag: String, - ?request_options: Onlyfans::request_opts - ) -> void - - def to_hash: -> { - account: String, - message_id: String, - rf_guest: String, - rf_partner: String, - rf_tag: String, - request_options: Onlyfans::RequestOptions - } - end - end -end diff --git a/sig/onlyfans/models/message_attach_tags_response.rbs b/sig/onlyfans/models/message_attach_tags_response.rbs deleted file mode 100644 index b18da0c0..00000000 --- a/sig/onlyfans/models/message_attach_tags_response.rbs +++ /dev/null @@ -1,164 +0,0 @@ -module Onlyfans - module Models - type message_attach_tags_response = - { - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta, - data: Onlyfans::Models::MessageAttachTagsResponse::Data - } - - class MessageAttachTagsResponse < Onlyfans::Internal::Type::BaseModel - attr_reader _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta? - - def _meta=: ( - Onlyfans::Models::MessageAttachTagsResponse::Meta - ) -> Onlyfans::Models::MessageAttachTagsResponse::Meta - - attr_reader data: Onlyfans::Models::MessageAttachTagsResponse::Data? - - def data=: ( - Onlyfans::Models::MessageAttachTagsResponse::Data - ) -> Onlyfans::Models::MessageAttachTagsResponse::Data - - def initialize: ( - ?_meta: Onlyfans::Models::MessageAttachTagsResponse::Meta, - ?data: Onlyfans::Models::MessageAttachTagsResponse::Data - ) -> void - - def to_hash: -> { - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta, - data: Onlyfans::Models::MessageAttachTagsResponse::Data - } - - type meta = - { - _cache: Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, - _credits: Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, - _rate_limits: Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - } - - class Meta < Onlyfans::Internal::Type::BaseModel - attr_reader _cache: Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache? - - def _cache=: ( - Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache - ) -> Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache - - attr_reader _credits: Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits? - - def _credits=: ( - Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits - ) -> Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits - - attr_reader _rate_limits: Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits? - - def _rate_limits=: ( - Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - ) -> Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - - def initialize: ( - ?_cache: Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, - ?_credits: Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, - ?_rate_limits: Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - ) -> void - - def to_hash: -> { - _cache: Onlyfans::Models::MessageAttachTagsResponse::Meta::Cache, - _credits: Onlyfans::Models::MessageAttachTagsResponse::Meta::Credits, - _rate_limits: Onlyfans::Models::MessageAttachTagsResponse::Meta::RateLimits - } - - type cache = { is_cached: bool, note: String } - - class Cache < Onlyfans::Internal::Type::BaseModel - attr_reader is_cached: bool? - - def is_cached=: (bool) -> bool - - attr_reader note: String? - - def note=: (String) -> String - - def initialize: (?is_cached: bool, ?note: String) -> void - - def to_hash: -> { is_cached: bool, note: String } - end - - type credits = { balance: Integer, note: String, used: Integer } - - class Credits < Onlyfans::Internal::Type::BaseModel - attr_reader balance: Integer? - - def balance=: (Integer) -> Integer - - attr_reader note: String? - - def note=: (String) -> String - - attr_reader used: Integer? - - def used=: (Integer) -> Integer - - def initialize: ( - ?balance: Integer, - ?note: String, - ?used: Integer - ) -> void - - def to_hash: -> { balance: Integer, note: String, used: Integer } - end - - type rate_limits = - { - limit_day: Integer, - limit_minute: Integer, - remaining_day: Integer, - remaining_minute: Integer - } - - class RateLimits < Onlyfans::Internal::Type::BaseModel - attr_reader limit_day: Integer? - - def limit_day=: (Integer) -> Integer - - attr_reader limit_minute: Integer? - - def limit_minute=: (Integer) -> Integer - - attr_reader remaining_day: Integer? - - def remaining_day=: (Integer) -> Integer - - attr_reader remaining_minute: Integer? - - def remaining_minute=: (Integer) -> Integer - - def initialize: ( - ?limit_day: Integer, - ?limit_minute: Integer, - ?remaining_day: Integer, - ?remaining_minute: Integer - ) -> void - - def to_hash: -> { - limit_day: Integer, - limit_minute: Integer, - remaining_day: Integer, - remaining_minute: Integer - } - end - end - - type data = { success: bool } - - class Data < Onlyfans::Internal::Type::BaseModel - attr_reader success: bool? - - def success=: (bool) -> bool - - def initialize: (?success: bool) -> void - - def to_hash: -> { success: bool } - end - end - end -end diff --git a/sig/onlyfans/models/release_form_list_taggable_users_response.rbs b/sig/onlyfans/models/release_form_list_taggable_users_response.rbs index f3e2ac26..73d3ffcc 100644 --- a/sig/onlyfans/models/release_form_list_taggable_users_response.rbs +++ b/sig/onlyfans/models/release_form_list_taggable_users_response.rbs @@ -157,29 +157,28 @@ module Onlyfans end end - type pagination = { next_page: String } + type pagination = { next_page: String, notice: String } class Pagination < Onlyfans::Internal::Type::BaseModel attr_reader next_page: String? def next_page=: (String) -> String - def initialize: (?next_page: String) -> void + attr_reader notice: String? - def to_hash: -> { next_page: String } + def notice=: (String) -> String + + def initialize: (?next_page: String, ?notice: String) -> void + + def to_hash: -> { next_page: String, notice: String } end type data = { - has_more: bool, items: ::Array[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item] } class Data < Onlyfans::Internal::Type::BaseModel - attr_reader has_more: bool? - - def has_more=: (bool) -> bool - attr_reader items: ::Array[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item]? def items=: ( @@ -187,12 +186,10 @@ module Onlyfans ) -> ::Array[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item] def initialize: ( - ?has_more: bool, ?items: ::Array[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item] ) -> void def to_hash: -> { - has_more: bool, items: ::Array[Onlyfans::Models::ReleaseFormListTaggableUsersResponse::Data::Item] } diff --git a/sig/onlyfans/models/smart_link_list_fans_params.rbs b/sig/onlyfans/models/smart_link_list_fans_params.rbs index 69971ec6..447b1e3d 100644 --- a/sig/onlyfans/models/smart_link_list_fans_params.rbs +++ b/sig/onlyfans/models/smart_link_list_fans_params.rbs @@ -9,7 +9,9 @@ module Onlyfans min_revenue_net: Float, min_tips_net: Float, offset: Integer, - sort: Onlyfans::Models::SmartLinkListFansParams::sort + previously_subscribed: bool, + sort: Onlyfans::Models::SmartLinkListFansParams::sort, + subscribed_using_promo: bool } & Onlyfans::Internal::Type::request_parameters @@ -43,12 +45,20 @@ module Onlyfans def offset=: (Integer) -> Integer + attr_reader previously_subscribed: bool? + + def previously_subscribed=: (bool) -> bool + attr_reader sort: Onlyfans::Models::SmartLinkListFansParams::sort? def sort=: ( Onlyfans::Models::SmartLinkListFansParams::sort ) -> Onlyfans::Models::SmartLinkListFansParams::sort + attr_reader subscribed_using_promo: bool? + + def subscribed_using_promo=: (bool) -> bool + def initialize: ( smart_link_id: String, ?has_messages: bool, @@ -57,7 +67,9 @@ module Onlyfans ?min_revenue_net: Float, ?min_tips_net: Float, ?offset: Integer, + ?previously_subscribed: bool, ?sort: Onlyfans::Models::SmartLinkListFansParams::sort, + ?subscribed_using_promo: bool, ?request_options: Onlyfans::request_opts ) -> void @@ -69,7 +81,9 @@ module Onlyfans min_revenue_net: Float, min_tips_net: Float, offset: Integer, + previously_subscribed: bool, sort: Onlyfans::Models::SmartLinkListFansParams::sort, + subscribed_using_promo: bool, request_options: Onlyfans::RequestOptions } diff --git a/sig/onlyfans/models/smart_link_list_fans_response.rbs b/sig/onlyfans/models/smart_link_list_fans_response.rbs index d2f31753..fb6e2932 100644 --- a/sig/onlyfans/models/smart_link_list_fans_response.rbs +++ b/sig/onlyfans/models/smart_link_list_fans_response.rbs @@ -145,7 +145,9 @@ module Onlyfans min_revenue_net: String?, min_tips_net: String?, offset: Integer, - sort: String + previously_subscribed: String?, + sort: String, + subscribed_using_promo: String? } class Filters < Onlyfans::Internal::Type::BaseModel @@ -165,10 +167,14 @@ module Onlyfans def offset=: (Integer) -> Integer + attr_accessor previously_subscribed: String? + attr_reader sort: String? def sort=: (String) -> String + attr_accessor subscribed_using_promo: String? + def initialize: ( ?has_messages: String?, ?limit: Integer, @@ -176,7 +182,9 @@ module Onlyfans ?min_revenue_net: String?, ?min_tips_net: String?, ?offset: Integer, - ?sort: String + ?previously_subscribed: String?, + ?sort: String, + ?subscribed_using_promo: String? ) -> void def to_hash: -> { @@ -186,7 +194,9 @@ module Onlyfans min_revenue_net: String?, min_tips_net: String?, offset: Integer, - sort: String + previously_subscribed: String?, + sort: String, + subscribed_using_promo: String? } end @@ -202,6 +212,7 @@ module Onlyfans name: String, onlyfans_id: String, revenue_net: Integer, + subscription_insights: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, tips_net: Integer, username: String } @@ -247,6 +258,12 @@ module Onlyfans def revenue_net=: (Integer) -> Integer + attr_reader subscription_insights: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights? + + def subscription_insights=: ( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights + ) -> Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights + attr_reader tips_net: Integer? def tips_net=: (Integer) -> Integer @@ -266,6 +283,7 @@ module Onlyfans ?name: String, ?onlyfans_id: String, ?revenue_net: Integer, + ?subscription_insights: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, ?tips_net: Integer, ?username: String ) -> void @@ -281,9 +299,106 @@ module Onlyfans name: String, onlyfans_id: String, revenue_net: Integer, + subscription_insights: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights, tips_net: Integer, username: String } + + type subscription_insights = + { + current_subscription: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, + current_subscription_from_smart_link: bool, + has_subscription_data: bool, + previously_subscribed: bool, + subscribed_using_promo: bool + } + + class SubscriptionInsights < Onlyfans::Internal::Type::BaseModel + attr_reader current_subscription: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription? + + def current_subscription=: ( + Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription + ) -> Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription + + attr_reader current_subscription_from_smart_link: bool? + + def current_subscription_from_smart_link=: (bool) -> bool + + attr_reader has_subscription_data: bool? + + def has_subscription_data=: (bool) -> bool + + attr_reader previously_subscribed: bool? + + def previously_subscribed=: (bool) -> bool + + attr_reader subscribed_using_promo: bool? + + def subscribed_using_promo=: (bool) -> bool + + def initialize: ( + ?current_subscription: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, + ?current_subscription_from_smart_link: bool, + ?has_subscription_data: bool, + ?previously_subscribed: bool, + ?subscribed_using_promo: bool + ) -> void + + def to_hash: -> { + current_subscription: Onlyfans::Models::SmartLinkListFansResponse::Data::Row::SubscriptionInsights::CurrentSubscription, + current_subscription_from_smart_link: bool, + has_subscription_data: bool, + previously_subscribed: bool, + subscribed_using_promo: bool + } + + type current_subscription = + { + action: String, + is_free: bool, + price: Integer, + regular_price: Integer, + type: String + } + + class CurrentSubscription < Onlyfans::Internal::Type::BaseModel + attr_reader action: String? + + def action=: (String) -> String + + attr_reader is_free: bool? + + def is_free=: (bool) -> bool + + attr_reader price: Integer? + + def price=: (Integer) -> Integer + + attr_reader regular_price: Integer? + + def regular_price=: (Integer) -> Integer + + attr_reader type: String? + + def type=: (String) -> String + + def initialize: ( + ?action: String, + ?is_free: bool, + ?price: Integer, + ?regular_price: Integer, + ?type: String + ) -> void + + def to_hash: -> { + action: String, + is_free: bool, + price: Integer, + regular_price: Integer, + type: String + } + end + end end type summary = diff --git a/sig/onlyfans/models/smart_link_list_params.rbs b/sig/onlyfans/models/smart_link_list_params.rbs index 3acabc96..5479b8da 100644 --- a/sig/onlyfans/models/smart_link_list_params.rbs +++ b/sig/onlyfans/models/smart_link_list_params.rbs @@ -3,10 +3,12 @@ module Onlyfans type smart_link_list_params = { account_ids: String?, + filter: Onlyfans::SmartLinkListParams::Filter, limit: Integer, meta_pixel_ids: String?, name: String?, - offset: Integer + offset: Integer, + pixel_ids: String? } & Onlyfans::Internal::Type::request_parameters @@ -16,6 +18,12 @@ module Onlyfans attr_accessor account_ids: String? + attr_reader filter: Onlyfans::SmartLinkListParams::Filter? + + def filter=: ( + Onlyfans::SmartLinkListParams::Filter + ) -> Onlyfans::SmartLinkListParams::Filter + attr_reader limit: Integer? def limit=: (Integer) -> Integer @@ -28,23 +36,41 @@ module Onlyfans def offset=: (Integer) -> Integer + attr_accessor pixel_ids: String? + def initialize: ( ?account_ids: String?, + ?filter: Onlyfans::SmartLinkListParams::Filter, ?limit: Integer, ?meta_pixel_ids: String?, ?name: String?, ?offset: Integer, + ?pixel_ids: String?, ?request_options: Onlyfans::request_opts ) -> void def to_hash: -> { account_ids: String?, + filter: Onlyfans::SmartLinkListParams::Filter, limit: Integer, meta_pixel_ids: String?, name: String?, offset: Integer, + pixel_ids: String?, request_options: Onlyfans::RequestOptions } + + type filter = { tags: ::Array[String] } + + class Filter < Onlyfans::Internal::Type::BaseModel + attr_reader tags: ::Array[String]? + + def tags=: (::Array[String]) -> ::Array[String] + + def initialize: (?tags: ::Array[String]) -> void + + def to_hash: -> { tags: ::Array[String] } + end end end end diff --git a/sig/onlyfans/models/smart_link_postback_create_params.rbs b/sig/onlyfans/models/smart_link_postback_create_params.rbs index dea64c8e..73cb97cb 100644 --- a/sig/onlyfans/models/smart_link_postback_create_params.rbs +++ b/sig/onlyfans/models/smart_link_postback_create_params.rbs @@ -5,6 +5,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackCreateParams::smart_link_scope, url: String, + body: String, + headers: ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header], + http_method: Onlyfans::Models::SmartLinkPostbackCreateParams::http_method, smart_link_ids: ::Array[String] } & Onlyfans::Internal::Type::request_parameters @@ -19,6 +22,22 @@ module Onlyfans attr_accessor url: String + attr_reader body: String? + + def body=: (String) -> String + + attr_reader headers: ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header]? + + def headers=: ( + ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header] + ) -> ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header] + + attr_reader http_method: Onlyfans::Models::SmartLinkPostbackCreateParams::http_method? + + def http_method=: ( + Onlyfans::Models::SmartLinkPostbackCreateParams::http_method + ) -> Onlyfans::Models::SmartLinkPostbackCreateParams::http_method + attr_reader smart_link_ids: ::Array[String]? def smart_link_ids=: (::Array[String]) -> ::Array[String] @@ -27,6 +46,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackCreateParams::smart_link_scope, url: String, + ?body: String, + ?headers: ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header], + ?http_method: Onlyfans::Models::SmartLinkPostbackCreateParams::http_method, ?smart_link_ids: ::Array[String], ?request_options: Onlyfans::request_opts ) -> void @@ -35,6 +57,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackCreateParams::smart_link_scope, url: String, + body: String, + headers: ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header], + http_method: Onlyfans::Models::SmartLinkPostbackCreateParams::http_method, smart_link_ids: ::Array[String], request_options: Onlyfans::RequestOptions } @@ -49,6 +74,29 @@ module Onlyfans def self?.values: -> ::Array[Onlyfans::Models::SmartLinkPostbackCreateParams::smart_link_scope] end + + type header = { name: String?, value: String? } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_accessor name: String? + + attr_accessor value: String? + + def initialize: (?name: String?, ?value: String?) -> void + + def to_hash: -> { name: String?, value: String? } + end + + type http_method = :GET | :POST + + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + GET: :GET + POST: :POST + + def self?.values: -> ::Array[Onlyfans::Models::SmartLinkPostbackCreateParams::http_method] + end end end end diff --git a/sig/onlyfans/models/smart_link_postback_create_response.rbs b/sig/onlyfans/models/smart_link_postback_create_response.rbs index cda7bef7..c9865ccb 100644 --- a/sig/onlyfans/models/smart_link_postback_create_response.rbs +++ b/sig/onlyfans/models/smart_link_postback_create_response.rbs @@ -102,8 +102,11 @@ module Onlyfans type data = { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[top], smart_link_scope: String, @@ -117,6 +120,10 @@ module Onlyfans def id=: (Integer) -> Integer + attr_reader body: String? + + def body=: (String) -> String + attr_reader conversion_types: ::Array[String]? def conversion_types=: (::Array[String]) -> ::Array[String] @@ -125,6 +132,16 @@ module Onlyfans def created_at=: (String) -> String + attr_reader headers: ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header]? + + def headers=: ( + ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header] + ) -> ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header] + + attr_reader http_method: String? + + def http_method=: (String) -> String + attr_accessor latest_response: String? attr_reader smart_link_ids: ::Array[top]? @@ -149,8 +166,11 @@ module Onlyfans def initialize: ( ?id: Integer, + ?body: String, ?conversion_types: ::Array[String], ?created_at: String, + ?headers: ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header], + ?http_method: String, ?latest_response: String?, ?smart_link_ids: ::Array[top], ?smart_link_scope: String, @@ -161,8 +181,11 @@ module Onlyfans def to_hash: -> { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackCreateResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[top], smart_link_scope: String, @@ -170,6 +193,22 @@ module Onlyfans updated_at: String, url: String } + + type header = { name: String, value: String } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_reader name: String? + + def name=: (String) -> String + + attr_reader value: String? + + def value=: (String) -> String + + def initialize: (?name: String, ?value: String) -> void + + def to_hash: -> { name: String, value: String } + end end end end diff --git a/sig/onlyfans/models/smart_link_postback_list_response.rbs b/sig/onlyfans/models/smart_link_postback_list_response.rbs index 5fcae5df..fafffe05 100644 --- a/sig/onlyfans/models/smart_link_postback_list_response.rbs +++ b/sig/onlyfans/models/smart_link_postback_list_response.rbs @@ -102,8 +102,11 @@ module Onlyfans type data = { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header], + http_method: String, latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -117,6 +120,10 @@ module Onlyfans def id=: (Integer) -> Integer + attr_reader body: String? + + def body=: (String) -> String + attr_reader conversion_types: ::Array[String]? def conversion_types=: (::Array[String]) -> ::Array[String] @@ -125,6 +132,16 @@ module Onlyfans def created_at=: (String) -> String + attr_reader headers: ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header]? + + def headers=: ( + ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header] + ) -> ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header] + + attr_reader http_method: String? + + def http_method=: (String) -> String + attr_reader latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse? def latest_response=: ( @@ -155,8 +172,11 @@ module Onlyfans def initialize: ( ?id: Integer, + ?body: String, ?conversion_types: ::Array[String], ?created_at: String, + ?headers: ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header], + ?http_method: String, ?latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse, ?smart_link_ids: ::Array[String], ?smart_link_scope: String, @@ -167,8 +187,11 @@ module Onlyfans def to_hash: -> { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackListResponse::Data::Header], + http_method: String, latest_response: Onlyfans::Models::SmartLinkPostbackListResponse::Data::LatestResponse, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -177,6 +200,22 @@ module Onlyfans url: String } + type header = { name: String, value: String } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_reader name: String? + + def name=: (String) -> String + + attr_reader value: String? + + def value=: (String) -> String + + def initialize: (?name: String, ?value: String) -> void + + def to_hash: -> { name: String, value: String } + end + type latest_response = { id: Integer, diff --git a/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs b/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs index 806b0a27..bc7467cd 100644 --- a/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs +++ b/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs @@ -102,8 +102,11 @@ module Onlyfans type data = { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -117,6 +120,10 @@ module Onlyfans def id=: (Integer) -> Integer + attr_reader body: String? + + def body=: (String) -> String + attr_reader conversion_types: ::Array[String]? def conversion_types=: (::Array[String]) -> ::Array[String] @@ -125,6 +132,16 @@ module Onlyfans def created_at=: (String) -> String + attr_reader headers: ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header]? + + def headers=: ( + ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header] + ) -> ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header] + + attr_reader http_method: String? + + def http_method=: (String) -> String + attr_accessor latest_response: String? attr_reader smart_link_ids: ::Array[String]? @@ -151,8 +168,11 @@ module Onlyfans def initialize: ( ?id: Integer, + ?body: String, ?conversion_types: ::Array[String], ?created_at: String, + ?headers: ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header], + ?http_method: String, ?latest_response: String?, ?smart_link_ids: ::Array[String], ?smart_link_scope: String, @@ -163,8 +183,11 @@ module Onlyfans def to_hash: -> { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackRetrieveResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -173,6 +196,22 @@ module Onlyfans url: String } + type header = { name: String, value: String } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_reader name: String? + + def name=: (String) -> String + + attr_reader value: String? + + def value=: (String) -> String + + def initialize: (?name: String, ?value: String) -> void + + def to_hash: -> { name: String, value: String } + end + type smart_link = { account_display_name: String, diff --git a/sig/onlyfans/models/smart_link_postback_update_params.rbs b/sig/onlyfans/models/smart_link_postback_update_params.rbs index 844fc175..46920a81 100644 --- a/sig/onlyfans/models/smart_link_postback_update_params.rbs +++ b/sig/onlyfans/models/smart_link_postback_update_params.rbs @@ -6,6 +6,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackUpdateParams::smart_link_scope, url: String, + body: String, + headers: ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header], + http_method: Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method, smart_link_ids: ::Array[String] } & Onlyfans::Internal::Type::request_parameters @@ -22,6 +25,22 @@ module Onlyfans attr_accessor url: String + attr_reader body: String? + + def body=: (String) -> String + + attr_reader headers: ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header]? + + def headers=: ( + ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header] + ) -> ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header] + + attr_reader http_method: Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method? + + def http_method=: ( + Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method + ) -> Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method + attr_reader smart_link_ids: ::Array[String]? def smart_link_ids=: (::Array[String]) -> ::Array[String] @@ -31,6 +50,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackUpdateParams::smart_link_scope, url: String, + ?body: String, + ?headers: ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header], + ?http_method: Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method, ?smart_link_ids: ::Array[String], ?request_options: Onlyfans::request_opts ) -> void @@ -40,6 +62,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackUpdateParams::smart_link_scope, url: String, + body: String, + headers: ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header], + http_method: Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method, smart_link_ids: ::Array[String], request_options: Onlyfans::RequestOptions } @@ -54,6 +79,29 @@ module Onlyfans def self?.values: -> ::Array[Onlyfans::Models::SmartLinkPostbackUpdateParams::smart_link_scope] end + + type header = { name: String?, value: String? } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_accessor name: String? + + attr_accessor value: String? + + def initialize: (?name: String?, ?value: String?) -> void + + def to_hash: -> { name: String?, value: String? } + end + + type http_method = :GET | :POST + + module HTTPMethod + extend Onlyfans::Internal::Type::Enum + + GET: :GET + POST: :POST + + def self?.values: -> ::Array[Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method] + end end end end diff --git a/sig/onlyfans/models/smart_link_postback_update_response.rbs b/sig/onlyfans/models/smart_link_postback_update_response.rbs index ba71e618..9a997c82 100644 --- a/sig/onlyfans/models/smart_link_postback_update_response.rbs +++ b/sig/onlyfans/models/smart_link_postback_update_response.rbs @@ -102,8 +102,11 @@ module Onlyfans type data = { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -117,6 +120,10 @@ module Onlyfans def id=: (Integer) -> Integer + attr_reader body: String? + + def body=: (String) -> String + attr_reader conversion_types: ::Array[String]? def conversion_types=: (::Array[String]) -> ::Array[String] @@ -125,6 +132,16 @@ module Onlyfans def created_at=: (String) -> String + attr_reader headers: ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header]? + + def headers=: ( + ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header] + ) -> ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header] + + attr_reader http_method: String? + + def http_method=: (String) -> String + attr_accessor latest_response: String? attr_reader smart_link_ids: ::Array[String]? @@ -151,8 +168,11 @@ module Onlyfans def initialize: ( ?id: Integer, + ?body: String, ?conversion_types: ::Array[String], ?created_at: String, + ?headers: ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header], + ?http_method: String, ?latest_response: String?, ?smart_link_ids: ::Array[String], ?smart_link_scope: String, @@ -163,8 +183,11 @@ module Onlyfans def to_hash: -> { id: Integer, + body: String, conversion_types: ::Array[String], created_at: String, + headers: ::Array[Onlyfans::Models::SmartLinkPostbackUpdateResponse::Data::Header], + http_method: String, latest_response: String?, smart_link_ids: ::Array[String], smart_link_scope: String, @@ -173,6 +196,22 @@ module Onlyfans url: String } + type header = { name: String, value: String } + + class Header < Onlyfans::Internal::Type::BaseModel + attr_reader name: String? + + def name=: (String) -> String + + attr_reader value: String? + + def value=: (String) -> String + + def initialize: (?name: String, ?value: String) -> void + + def to_hash: -> { name: String, value: String } + end + type smart_link = { account_display_name: String, diff --git a/sig/onlyfans/resources/analytics/financial/profitability.rbs b/sig/onlyfans/resources/analytics/financial/profitability.rbs index 34a4a56c..890b749d 100644 --- a/sig/onlyfans/resources/analytics/financial/profitability.rbs +++ b/sig/onlyfans/resources/analytics/financial/profitability.rbs @@ -8,14 +8,14 @@ module Onlyfans account_prefixed_id: String, ?months: Integer, ?request_options: Onlyfans::request_opts - ) -> Onlyfans::Models::Analytics::Financial::profitability_get_history_response + ) -> Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse def get_profitability: ( account_ids: ::Array[String], month: Integer, year: Integer, ?request_options: Onlyfans::request_opts - ) -> Onlyfans::Models::Analytics::Financial::profitability_get_profitability_response + ) -> Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse def initialize: (client: Onlyfans::Client) -> void end diff --git a/sig/onlyfans/resources/media.rbs b/sig/onlyfans/resources/media.rbs index 1aa220c5..ae49a530 100644 --- a/sig/onlyfans/resources/media.rbs +++ b/sig/onlyfans/resources/media.rbs @@ -9,7 +9,7 @@ module Onlyfans String cdn_url, account: String, ?request_options: Onlyfans::request_opts - ) -> String + ) -> nil def scrape: ( String account, diff --git a/sig/onlyfans/resources/media/vault/lists.rbs b/sig/onlyfans/resources/media/vault/lists.rbs index f63104ea..cbf5b1c1 100644 --- a/sig/onlyfans/resources/media/vault/lists.rbs +++ b/sig/onlyfans/resources/media/vault/lists.rbs @@ -20,6 +20,7 @@ module Onlyfans def update: ( String list_id, account: String, + name: String, ?request_options: Onlyfans::request_opts ) -> Onlyfans::Models::Media::Vault::ListUpdateResponse diff --git a/sig/onlyfans/resources/messages.rbs b/sig/onlyfans/resources/messages.rbs index 285ea880..a69bae8d 100644 --- a/sig/onlyfans/resources/messages.rbs +++ b/sig/onlyfans/resources/messages.rbs @@ -1,15 +1,6 @@ module Onlyfans module Resources class Messages - def attach_tags: ( - String message_id, - account: String, - ?rf_guest: String, - ?rf_partner: String, - ?rf_tag: String, - ?request_options: Onlyfans::request_opts - ) -> Onlyfans::Models::MessageAttachTagsResponse - def initialize: (client: Onlyfans::Client) -> void end end diff --git a/sig/onlyfans/resources/smart_link_postbacks.rbs b/sig/onlyfans/resources/smart_link_postbacks.rbs index 2546d3cd..0f715fed 100644 --- a/sig/onlyfans/resources/smart_link_postbacks.rbs +++ b/sig/onlyfans/resources/smart_link_postbacks.rbs @@ -5,6 +5,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackCreateParams::smart_link_scope, url: String, + ?body: String, + ?headers: ::Array[Onlyfans::SmartLinkPostbackCreateParams::Header], + ?http_method: Onlyfans::Models::SmartLinkPostbackCreateParams::http_method, ?smart_link_ids: ::Array[String], ?request_options: Onlyfans::request_opts ) -> Onlyfans::Models::SmartLinkPostbackCreateResponse @@ -19,6 +22,9 @@ module Onlyfans conversion_types: ::Array[String], smart_link_scope: Onlyfans::Models::SmartLinkPostbackUpdateParams::smart_link_scope, url: String, + ?body: String, + ?headers: ::Array[Onlyfans::SmartLinkPostbackUpdateParams::Header], + ?http_method: Onlyfans::Models::SmartLinkPostbackUpdateParams::http_method, ?smart_link_ids: ::Array[String], ?request_options: Onlyfans::request_opts ) -> Onlyfans::Models::SmartLinkPostbackUpdateResponse diff --git a/sig/onlyfans/resources/smart_links.rbs b/sig/onlyfans/resources/smart_links.rbs index 9674570f..25d2cd0a 100644 --- a/sig/onlyfans/resources/smart_links.rbs +++ b/sig/onlyfans/resources/smart_links.rbs @@ -16,10 +16,12 @@ module Onlyfans def list: ( ?account_ids: String?, + ?filter: Onlyfans::SmartLinkListParams::Filter, ?limit: Integer, ?meta_pixel_ids: String?, ?name: String?, ?offset: Integer, + ?pixel_ids: String?, ?request_options: Onlyfans::request_opts ) -> Onlyfans::Models::SmartLinkListResponse @@ -60,7 +62,9 @@ module Onlyfans ?min_revenue_net: Float, ?min_tips_net: Float, ?offset: Integer, + ?previously_subscribed: bool, ?sort: Onlyfans::Models::SmartLinkListFansParams::sort, + ?subscribed_using_promo: bool, ?request_options: Onlyfans::request_opts ) -> Onlyfans::Models::SmartLinkListFansResponse diff --git a/test/onlyfans/resources/accounts_test.rb b/test/onlyfans/resources/accounts_test.rb index 71b692d9..afe075ff 100644 --- a/test/onlyfans/resources/accounts_test.rb +++ b/test/onlyfans/resources/accounts_test.rb @@ -16,7 +16,7 @@ def test_list def test_disconnect skip("Mock server tests are disabled") - response = @only_fans_api.accounts.disconnect("molestiae") + response = @only_fans_api.accounts.disconnect("ratione") assert_pattern do response => ^(Onlyfans::Internal::Type::HashOf[Onlyfans::Internal::Type::Unknown]) diff --git a/test/onlyfans/resources/analytics/financial/profitability_test.rb b/test/onlyfans/resources/analytics/financial/profitability_test.rb index 4c10e4a0..a5a36d64 100644 --- a/test/onlyfans/resources/analytics/financial/profitability_test.rb +++ b/test/onlyfans/resources/analytics/financial/profitability_test.rb @@ -13,7 +13,13 @@ def test_get_history_required_params ) assert_pattern do - response => ^(Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem]) + response => Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse + end + + assert_pattern do + response => { + data: ^(Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse::Data]) | nil + } end end @@ -28,7 +34,13 @@ def test_get_profitability_required_params ) assert_pattern do - response => ^(Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem]) + response => Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse + end + + assert_pattern do + response => { + data: ^(Onlyfans::Internal::Type::ArrayOf[Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse::Data]) | nil + } end end end diff --git a/test/onlyfans/resources/engagement/messages_test.rb b/test/onlyfans/resources/engagement/messages_test.rb index 1f629bba..6a5538ab 100644 --- a/test/onlyfans/resources/engagement/messages_test.rb +++ b/test/onlyfans/resources/engagement/messages_test.rb @@ -6,7 +6,7 @@ class Onlyfans::Test::Resources::Engagement::MessagesTest < Onlyfans::Test::Reso def test_get_message_buyers_required_params skip("Mock server tests are disabled") - response = @only_fans_api.engagement.messages.get_message_buyers("et", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.engagement.messages.get_message_buyers("odio", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::Engagement::MessageGetMessageBuyersResponse diff --git a/test/onlyfans/resources/media/vault/lists/media_test.rb b/test/onlyfans/resources/media/vault/lists/media_test.rb index 96bf4a82..6a9e48f3 100644 --- a/test/onlyfans/resources/media/vault/lists/media_test.rb +++ b/test/onlyfans/resources/media/vault/lists/media_test.rb @@ -8,7 +8,7 @@ def test_add_required_params response = @only_fans_api.media.vault.lists.media.add( - "quo", + "iure", account: "acct_XXXXXXXXXXXXXXX", media_ids: ["string"] ) @@ -30,7 +30,7 @@ def test_remove_required_params response = @only_fans_api.media.vault.lists.media.remove( - "quo", + "iure", account: "acct_XXXXXXXXXXXXXXX", media_ids: ["string"] ) diff --git a/test/onlyfans/resources/media/vault/lists_test.rb b/test/onlyfans/resources/media/vault/lists_test.rb index 561bea1c..221e365c 100644 --- a/test/onlyfans/resources/media/vault/lists_test.rb +++ b/test/onlyfans/resources/media/vault/lists_test.rb @@ -40,7 +40,8 @@ def test_retrieve_required_params def test_update_required_params skip("Mock server tests are disabled") - response = @only_fans_api.media.vault.lists.update("123", account: "acct_XXXXXXXXXXXXXXX") + response = + @only_fans_api.media.vault.lists.update("123", account: "acct_XXXXXXXXXXXXXXX", name: "My renamed list") assert_pattern do response => Onlyfans::Models::Media::Vault::ListUpdateResponse diff --git a/test/onlyfans/resources/media_test.rb b/test/onlyfans/resources/media_test.rb index feeb7982..f7430c1b 100644 --- a/test/onlyfans/resources/media_test.rb +++ b/test/onlyfans/resources/media_test.rb @@ -9,7 +9,7 @@ def test_download_required_params response = @only_fans_api.media.download("cdnUrl", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do - response => String + response => nil end end diff --git a/test/onlyfans/resources/messages_test.rb b/test/onlyfans/resources/messages_test.rb index 561c465a..c052b70d 100644 --- a/test/onlyfans/resources/messages_test.rb +++ b/test/onlyfans/resources/messages_test.rb @@ -3,20 +3,4 @@ require_relative "../test_helper" class Onlyfans::Test::Resources::MessagesTest < Onlyfans::Test::ResourceTest - def test_attach_tags_required_params - skip("Mock server tests are disabled") - - response = @only_fans_api.messages.attach_tags("123456789", account: "acct_XXXXXXXXXXXXXXX") - - assert_pattern do - response => Onlyfans::Models::MessageAttachTagsResponse - end - - assert_pattern do - response => { - _meta: Onlyfans::Models::MessageAttachTagsResponse::Meta | nil, - data: Onlyfans::Models::MessageAttachTagsResponse::Data | nil - } - end - end end diff --git a/test/onlyfans/resources/posts/comments_test.rb b/test/onlyfans/resources/posts/comments_test.rb index cb50d46a..b0b40174 100644 --- a/test/onlyfans/resources/posts/comments_test.rb +++ b/test/onlyfans/resources/posts/comments_test.rb @@ -8,7 +8,7 @@ def test_create_required_params response = @only_fans_api.posts.comments.create( - "dicta", + "illum", account: "acct_XXXXXXXXXXXXXXX", text: "This is a comment." ) @@ -28,7 +28,7 @@ def test_create_required_params def test_list_required_params skip("Mock server tests are disabled") - response = @only_fans_api.posts.comments.list("dicta", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.posts.comments.list("illum", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::Posts::CommentListResponse diff --git a/test/onlyfans/resources/saved_for_later/messages/settings_test.rb b/test/onlyfans/resources/saved_for_later/messages/settings_test.rb index fe0c262b..ae96ffe5 100644 --- a/test/onlyfans/resources/saved_for_later/messages/settings_test.rb +++ b/test/onlyfans/resources/saved_for_later/messages/settings_test.rb @@ -44,7 +44,7 @@ def test_enable_or_update_automatic_messaging_required_params response = @only_fans_api.saved_for_later.messages.settings.enable_or_update_automatic_messaging( "acct_XXXXXXXXXXXXXXX", - period: 24 + period: 6 ) assert_pattern do diff --git a/test/onlyfans/resources/saved_for_later/posts/settings_test.rb b/test/onlyfans/resources/saved_for_later/posts/settings_test.rb index 80141521..06a5f579 100644 --- a/test/onlyfans/resources/saved_for_later/posts/settings_test.rb +++ b/test/onlyfans/resources/saved_for_later/posts/settings_test.rb @@ -44,7 +44,7 @@ def test_enable_or_update_automatic_posting_required_params response = @only_fans_api.saved_for_later.posts.settings.enable_or_update_automatic_posting( "acct_XXXXXXXXXXXXXXX", - period: 48 + period: 24 ) assert_pattern do diff --git a/test/onlyfans/resources/smart_link_postbacks_test.rb b/test/onlyfans/resources/smart_link_postbacks_test.rb index 5c88fd00..b6383bfe 100644 --- a/test/onlyfans/resources/smart_link_postbacks_test.rb +++ b/test/onlyfans/resources/smart_link_postbacks_test.rb @@ -10,7 +10,7 @@ def test_create_required_params @only_fans_api.smart_link_postbacks.create( conversion_types: %w[new_subscriber new_transaction], smart_link_scope: :campaign_specific, - url: "https://example.com/postback?click={click_id}&type={conversion_type}&gclid={gclid}" + url: "https://example.com/postback?click={external_click_id}&type={conversion_type}&gclid={gclid}" ) assert_pattern do @@ -50,7 +50,7 @@ def test_update_required_params 123, conversion_types: ["new_subscriber"], smart_link_scope: :global, - url: "https://example.com/postback?click={click_id}&type={conversion_type}" + url: "https://example.com/postback?click={external_click_id}&type={conversion_type}" ) assert_pattern do diff --git a/test/onlyfans/resources/smart_links_test.rb b/test/onlyfans/resources/smart_links_test.rb index 7fcaf893..b69be89a 100644 --- a/test/onlyfans/resources/smart_links_test.rb +++ b/test/onlyfans/resources/smart_links_test.rb @@ -79,7 +79,7 @@ def test_delete def test_list_clicks skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.list_clicks("aperiam") + response = @only_fans_api.smart_links.list_clicks("tenetur") assert_pattern do response => Onlyfans::Models::SmartLinkListClicksResponse @@ -96,7 +96,7 @@ def test_list_clicks def test_list_conversions skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.list_conversions("sint") + response = @only_fans_api.smart_links.list_conversions("alias") assert_pattern do response => Onlyfans::Models::SmartLinkListConversionsResponse @@ -113,7 +113,7 @@ def test_list_conversions def test_list_fans skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.list_fans("dolores") + response = @only_fans_api.smart_links.list_fans("earum") assert_pattern do response => Onlyfans::Models::SmartLinkListFansResponse @@ -130,7 +130,7 @@ def test_list_fans def test_list_spenders skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.list_spenders("et") + response = @only_fans_api.smart_links.list_spenders("rerum") assert_pattern do response => Onlyfans::Models::SmartLinkListSpendersResponse @@ -147,7 +147,7 @@ def test_list_spenders def test_retrieve_cohort_arps skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.retrieve_cohort_arps("laborum") + response = @only_fans_api.smart_links.retrieve_cohort_arps("voluptas") assert_pattern do response => nil @@ -157,7 +157,7 @@ def test_retrieve_cohort_arps def test_retrieve_stats skip("Mock server tests are disabled") - response = @only_fans_api.smart_links.retrieve_stats("minus") + response = @only_fans_api.smart_links.retrieve_stats("ad") assert_pattern do response => Onlyfans::Models::SmartLinkRetrieveStatsResponse diff --git a/test/onlyfans/resources/stories/highlights_test.rb b/test/onlyfans/resources/stories/highlights_test.rb index 2e05b0ce..b757876b 100644 --- a/test/onlyfans/resources/stories/highlights_test.rb +++ b/test/onlyfans/resources/stories/highlights_test.rb @@ -106,7 +106,7 @@ def test_add_story_required_params response = @only_fans_api.stories.highlights.add_story( - "dolorum", + "eos", account: "acct_XXXXXXXXXXXXXXX", highlight_id: 1_234_567_890, body_story_id: 2_345_678_901 @@ -129,7 +129,7 @@ def test_remove_story_required_params response = @only_fans_api.stories.highlights.remove_story( - "dolorum", + "eos", account: "acct_XXXXXXXXXXXXXXX", highlight_id: 1_234_567_890 ) diff --git a/test/onlyfans/resources/tracking_links_test.rb b/test/onlyfans/resources/tracking_links_test.rb index 001f52f8..47cffa76 100644 --- a/test/onlyfans/resources/tracking_links_test.rb +++ b/test/onlyfans/resources/tracking_links_test.rb @@ -23,7 +23,7 @@ def test_create_required_params def test_retrieve_required_params skip("Mock server tests are disabled") - response = @only_fans_api.tracking_links.retrieve("magnam", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.tracking_links.retrieve("est", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrackingLinkRetrieveResponse @@ -58,7 +58,7 @@ def test_list def test_delete_required_params skip("Mock server tests are disabled") - response = @only_fans_api.tracking_links.delete("magnam", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.tracking_links.delete("est", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrackingLinkDeleteResponse @@ -75,7 +75,7 @@ def test_delete_required_params def test_get_cohort_arps_required_params skip("Mock server tests are disabled") - response = @only_fans_api.tracking_links.get_cohort_arps("aspernatur", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.tracking_links.get_cohort_arps("temporibus", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => nil @@ -85,7 +85,7 @@ def test_get_cohort_arps_required_params def test_get_stats_required_params skip("Mock server tests are disabled") - response = @only_fans_api.tracking_links.get_stats("sapiente", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.tracking_links.get_stats("quidem", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrackingLinkGetStatsResponse diff --git a/test/onlyfans/resources/trial_links_test.rb b/test/onlyfans/resources/trial_links_test.rb index 9b079ce4..12e8d0e8 100644 --- a/test/onlyfans/resources/trial_links_test.rb +++ b/test/onlyfans/resources/trial_links_test.rb @@ -30,7 +30,7 @@ def test_create_required_params def test_retrieve_required_params skip("Mock server tests are disabled") - response = @only_fans_api.trial_links.retrieve("non", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.trial_links.retrieve("qui", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrialLinkRetrieveResponse @@ -65,7 +65,7 @@ def test_list_required_params def test_delete_required_params skip("Mock server tests are disabled") - response = @only_fans_api.trial_links.delete("non", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.trial_links.delete("qui", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrialLinkDeleteResponse @@ -100,7 +100,12 @@ def test_list_subscribers_required_params skip("Mock server tests are disabled") response = - @only_fans_api.trial_links.list_subscribers("et", account: "acct_XXXXXXXXXXXXXXX", limit: 10, offset: 0) + @only_fans_api.trial_links.list_subscribers( + "nihil", + account: "acct_XXXXXXXXXXXXXXX", + limit: 10, + offset: 0 + ) assert_pattern do response => Onlyfans::Models::TrialLinkListSubscribersResponse @@ -117,8 +122,7 @@ def test_list_subscribers_required_params def test_retrieve_cohort_arps_required_params skip("Mock server tests are disabled") - response = - @only_fans_api.trial_links.retrieve_cohort_arps("necessitatibus", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.trial_links.retrieve_cohort_arps("atque", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => nil @@ -128,7 +132,7 @@ def test_retrieve_cohort_arps_required_params def test_retrieve_stats_required_params skip("Mock server tests are disabled") - response = @only_fans_api.trial_links.retrieve_stats("accusantium", account: "acct_XXXXXXXXXXXXXXX") + response = @only_fans_api.trial_links.retrieve_stats("voluptatibus", account: "acct_XXXXXXXXXXXXXXX") assert_pattern do response => Onlyfans::Models::TrialLinkRetrieveStatsResponse diff --git a/test/onlyfans/resources/user_lists_test.rb b/test/onlyfans/resources/user_lists_test.rb index d1586d12..b49ad426 100644 --- a/test/onlyfans/resources/user_lists_test.rb +++ b/test/onlyfans/resources/user_lists_test.rb @@ -6,7 +6,7 @@ class Onlyfans::Test::Resources::UserListsTest < Onlyfans::Test::ResourceTest def test_create_required_params skip("Mock server tests are disabled") - response = @only_fans_api.user_lists.create("acct_XXXXXXXXXXXXXXX", name: "xiu") + response = @only_fans_api.user_lists.create("acct_XXXXXXXXXXXXXXX", name: "masdmhkug") assert_pattern do response => Onlyfans::Models::UserListCreateResponse