Giter VIP home page Giter VIP logo

wt-api-docs's Introduction

The WeTransfer Public API documentation


Getting Started

Prerequisites

You're going to need:

  • Linux or OS X - Windows may work, but is unsupported.
  • Ruby - version 2.3.1 or newer
  • Bundler - If Ruby is already installed, but the bundle command doesn't work, just run gem install bundler in a terminal.

Getting Set Up

Initialize and start the docs:

bundle install
bundle exec jekyll serve --config docs/_config.yml

You can now see the docs at http://localhost:4000. Whoa! That was fast!

wt-api-docs's People

Contributors

arkaitzgarro avatar arnofleming avatar awymest avatar bermannoah avatar depfu[bot] avatar grdw avatar julik avatar offinga avatar pimcoumans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

maartenvanvliet

wt-api-docs's Issues

Clearer description of `content_identifier`

It's a minor thing but when I read

content_identifier    String    Yes    Mandatory but must read "file".

it doesn't clearly tell me that the value of this must be file.
Maybe a rephrase like Mandatory must be "file" would be clearer for the reader.
Same goes for the url object.

Deleting items from a board

Is your feature request related to a problem? Please describe.
As per request. The possibility of deleting items inside a board.

Describe the solution you'd like
Make a delete endpoint for deleting items from a board.
e.g. DELETE /v2/board/{id}/file/{id} and DELETE /v2/board/{id}/links/{id}

Depfu Error: No dependency files found

Hello,

We've tried to activate or update your repository on Depfu and couldn't find any supported dependency files. If we were to guess, we would say that this is not actually a project Depfu supports and has probably been activated by error.

Monorepos

Please note that Depfu currently only searches for your dependency files in the root folder. We do support monorepos and non-root files, but don't auto-detect them. If that's the case with this repo, please send us a quick email with the folder you want Depfu to work on and we'll set it up right away!

How to deactivate the project

  • Go to the Settings page of either your own account or the organization you've used
  • Go to "Installed Integrations"
  • Click the "Configure" button on the Depfu integration
  • Remove this repo (WeTransfer/wt-api-docs) from the list of accessible repos.

Please note that using the "All Repositories" setting doesn't make a lot of sense with Depfu.

If you think that this is a mistake

Please let us know by sending an email to [email protected].


This is an automated issue by Depfu. You're getting it because someone configured Depfu to automatically update dependencies on this project.

deleting a file / link from a board

you cannot delete a file from a transfer, but you can delete something from a board.

To do:

  • make the endpoint
  • implement lambda function
  • document the endpoint

Unify response codes documentation

The documentation doesn't explain the expected response codes in a nice way for some endpoints (like /authorize) and is even missing for some of them. We should have an unified way of documenting response codes and response body.

I would suggest to use the following form, as we do for some responses:

Responses

200 (OK)

The Response Body contains the pre-signed S3 upload url.

{
  "url": "https://presigned-s3-put-url"
}

404 (Not found)

If you try to request an upload URL for a file that is not in the transfers, the API will respond with 404 Not found.

{
  "success" : false,
  "message" : "Couldn't find FileObject"
}

417 (Expectation Failed)

If you request to upload part 0, our API will tell you that our parts are numbered for humans; we start counting at part 1:

{
  "success" : false,
  "message" : "Chunk numbers are 1-based"
}

Working documentation

Some code examples aren't working (e.g. faulty request body)

In order to improve adoption of our API, we should run (and fix) all code examples in our JS, Ruby and curl docs.

Implement

  • Check and fix Ruby code examples #83,
  • Check and fix JavaScript code examples #82,
  • Check and fix Shell code examples #84
  • Document the file name sanitizer #91
  • Add documentation to retrieve transfers's information #81
  • Unify response codes documentation #90

and you're done :)

Document most common errors

Many developers get stuck using our API because of common errors, like Unsupported Media Type, Unsupported HTTP method, Forbidden, API rate limits, etc.

Adding a section explaining most common errors, and how to solve them, will help them a lot.

Include a Swagger file

We should include a Swagger definition of our API, to make developers life a little bit easier.

Document file name sanitiser

File name sanitizer in the API

In order to not be surprised when uploading a file called 😀or:\.jpg and see it renamed to or.jpg, as an API Consumer I want to have documentation on the file name sanitiser.

Background

Our API is on its way to remove emoji's and some control characters from file names. This behaviour should be made public

See a related PR in the Node SDK: WeTransfer/wt-js-sdk#138

Rearranging Board items after completion

Is your feature request related to a problem? Please describe.
As per request. The possibility to rearrange the items inside a board. Now the order of items inside the board is the order of it was added.

Describe the solution you'd like
Make a endpoint where you could move items up and down the board.
e.q. /v2/board/{id}/file/{id}/up or /v2/board/{id}/file/{id}/down

API Upgrade guide

In order to migrate from v1 to v2,
as an sdk developer or API consumer
I'd like to see which boxes I should tick so I will be ready for v2

Automated docs deployment

We need to remove the human intervention part from publishing our docs.

Find a solution to build API docs on merge to master, and display them immediately on our github pages.

Order of returned items in the response of the query that adds files to transfer

It would be useful for the reader to know if the order of sent items and responded ones is guaranteed.
So if I do the following POST:

curl https://dev.wetransfer.com/v1/transfers/{transfer_id}/items \
  -H "x-api-key: your_api_key" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer jwt_token" \
  -d '{"items": [{"local_identifier": "delightful-cat", "content_identifier": "file", "filename": "kittie.gif", "filesize": 1024}, {"local_identifier": "delightful-dog", "content_identifier": "file", "filename": "puppy.gif", "filesize": 1024}]}'

should i expect that the first item in the returned list will always be for kittie file and second for puppy.
You should make this clear I think so people know if they can script around that logic or not.

expiry date of a transfer

Can we add something to the Transfer API that developers can use to alert their users that the link will expire in 7 days.

@arkaitzgarro there is no template for creating an issue here so I'm sorry if this doesn't make sense.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.