# fleck-api

> Interface for the Fleck API

Latest version **1.0.0** (published 2015-06-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install fleck-api
pnpm add fleck-api
yarn add fleck-api
bun add fleck-api
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2015-06-11 |
| First published | 2015-06-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 (+2 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Mauricio Bustamante |
| Maintainers | mbustamanteo |
| Keywords | Fleck, API, GetFleck |

## Links

- npm: https://www.npmjs.com/package/fleck-api
- Repository: https://github.com/splashtechnologies/fleck-node
- Issues: https://github.com/splashtechnologies/fleck-node/issues
- npm.io page: https://npm.io/package/fleck-api

## Dependencies (3)

- [string](https://npm.io/package/string.md) ^3.1.1
- [request](https://npm.io/package/request.md) ^2.55.0
- [querystring](https://npm.io/package/querystring.md) ^0.2.0

## Recent versions

- 1.0.0 (latest) — 2015-06-11
- 0.2.0 — 2015-06-09
- 0.0.1 — 2015-06-09

## README

Fleck-API
=================
Interface for the Fleck API.

You must have an API token in order to use it. For getting one, send an email 
to api@getfleck.com.

How To Install:
=============
The generated code relies on node package manager (npm) being available to resolve dependencies.
Once published you can install the library by issuing the following command.

    npm install fleck-api


How To Use:
===========
The following example shows how to use the API:

    // import the module
    var fleck = require('fleck-api');

    // set the client API token
    // if you don't have one, send an email to api@getfleck.com
    fleck.apiToken = 'DF2BohjGgXJSU9A_hQrZmQPpQlLOiiTi';

    // customize the request. For more info check out the options table
    // in the reference section
    var options = {
        size: fleck.Size.s1242,
        language: fleck.Language.ru,
        secure: fleck.Secure.yes
    };

    // make the request
    fleck.getRelease(options,function(error, response){
        // handle error
        if (error) {
            console.log('error:',error);
            return;
        }

        // do something with the info
        var release = response.release;
        var posts = response.posts;

        options.before = release.timestamp;

        fleck.getRelease(options,function(error, response){
            // handle error
            if (error) {
                console.log('error:',error);
                return;
            }

            // do something with the info
            var release = response.release;
            var posts = response.posts;

            console.log("Release:", release);
            console.log("Posts:", posts);
        });
    });



Reference:
===========

Table of options and its valid values. In the models folder there are enums for the options to ensure valid values.

|Param | Description | Valid values | Default   |
|------|-------------|--------------|-----------|
|before    | It will return the release with a date strictly less than the number.  | Integers greater than 1419084000, which is the timestamp of the first release (20th december 2015). Any previous timestamp will return a 204 HTTP Response.  | current timestamp |
|version   | The version of the API.         | 1.0 | 1.0  |
|language  | The topic name and location name are localized      | [en,es,ru,pt_PT,pt_BR,de,fr]  | en  |
|size      | Size of the image              | [212,250,414,640,750,1242]    | 640 |
|secure    | If true, all links use https   | [yes,no]                      | No  |


####Response:

The response is parsed by the library. The following is a JSON response example:

    // curl "https://api.getfleck.com/release?token=validtoken&v=1.0"
    {
      "posts" :
      [
            // omitted other 19 elements
            {
              "created": 1433895797,
              "creator": {
                  "avatar_url": "http://media.getfleck.com/avatars/I5dNCBwABkeK3PQX.jpg",
                  "name": "Tiffany Sherwood"
              },
              "img_url": "http://media.getfleck.com/640x640/JEAuPFQABvYWNP9H.jpg",
              "location": {
                  "lat": 40.7127837,
                  "lon": -74.0059413,
                  "name": "New York, United States"
              },
              "order": 1433955580,
              "position": 20,
              "release": {
                  "number": 173,
                  "timestamp": 1433955600
              },
              "topic": {
                  "name": "Street Art"
              },
              "web_url": "http://getfleck.com/s/JEAuPFQABvYWNP9H"
          }
      ],
      "release": {
          "number": 173,
          "timestamp": 1433955600
      }
    }



**Post object**

| Variable | Type | Description |
|----------|------|-------------|
| created   | Float     | Timestamp of submission with seconds precision. |
| creator   | Creator   | User info |
| img_url   | String    | Url of the post image with the size requested |
| location  | Location  | Location of the post. |
| order     | Integer   | Position of the post related to all post of Fleck. Useful to compare post from different releases to determine the absolute order |
| position  | Integer   | Position of the post inside the release. It starts at 1. |
| release   | Release   | Release that the post belongs to. |
| topic     | Topic     | Topic that the post belongs to. |
| web_url   | String    | URL of the web version of the post. |

**Release object**

| Variable | Type | Description |
|----------|------|-------------|
| number   | Integer |  Unique release number. Starts at 1. |
| timestamp | Float | Timestamp with seconds precision at the time the release was published. |

**Topic object**

| Variable | Type | Description |
|----------|------|-------------|
| name   | String | Localized name of the topic |

**Location object**

As of Fleck 2.1 users can optionally attach a location to a post. 
Currently, locations are all cities and not any more specific 
(all posts in the same city have the same lat/lon). If the post doesn't have
a location, the response will be a location object with every property with a null value.

| Variable | Type | Description |
|----------|------|-------------|
| name    | String  | Localized name of the place |
| lat     | Float   | Latitude of the place |
| lon     | Float   | Longitude of the place |

**Creator object**

| Variable | Type | Description |
|-------------|------|-------------|
| avatar_url  | String  | URL of the avatar with a size 200x200 px  |
| name        | String  | User's name |

---
_Source: https://npm.io/package/fleck-api · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
