GithubHelp home page GithubHelp logo

plaid-elixir's People

Contributors

agramichael avatar allenwyma avatar backdoer avatar cblage avatar churcho avatar crberube avatar degzhaus avatar dnsbty avatar filmknurd avatar j-blake avatar jc00ke avatar kafaichoi avatar kianmeng avatar lightningk0ala avatar mrhooray avatar nathany-copia avatar pdgonzalez872 avatar sb8244 avatar sitch avatar stephenlacy avatar tylerwray avatar wfgilman avatar zacck avatar

Stargazers

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

Watchers

 avatar  avatar

plaid-elixir's Issues

Jason encoders

Right now we're having to derive the Jason.Encoder protocol on everything we need to serialize... not a huge deal, but since it's the default in Phoenix, it might be worth doing this by default.

What do you think?

This is what we have now:

require Protocol

Protocol.derive(Jason.Encoder, Plaid.Transactions.Transaction.Location)
Protocol.derive(Jason.Encoder, Plaid.Transactions.Transaction.PaymentMeta)
Protocol.derive(Jason.Encoder, Plaid.Institutions.Institution)
Protocol.derive(Jason.Encoder, Plaid.Institutions.Institution.Credentials)
Protocol.derive(Jason.Encoder, Plaid.Institutions.Institution.Colors)

Telemetry events around http requests

Hey,

we've been using this library for some time now and now we came across a need for putting some metrics around HTTP calls our system makes. We've been thinking of adding some telemetry events emitting to Plaid library itself to allow anybody using it handle them and later report. Our suggestions would be to have a set of events similar to this:

  • plaid.request.start (measurement: system_time)
  • plaid.request.stop (measurement: duration)
  • plaid.request.exception (measurement: duration)
    All of them would have metadata containing basic request info (path, status code, url etc.).

We're happy to implement it ourselves, let us know what you think.

Expose the response mappers

Currently Plaid.Utils.map_body/2 is privately defined, but this can be useful externally to libs. For instance, implementing an Ecto.Type behaviour.

This parsing functionality could be safely moved into its own module and called from Plaid.Utils.handle_resp/2 to maintain the existing public signature.

Moving this to somewhere like Plaid.Middlewares.ResponseHandler makes a lot of sense to me.

How do you get an access token?

Sorry, maybe this is obvious, but I've looked through the API and can't find a way to get an access_token. I see how to rotate a token once I already have one, but not create one in the first place.

I have an account with plaid, and have enabled development access.

Can you help?

Support for Plaid Identity

Is there any reason why this is not implemented so far? Seems like it conforms to what already exists in terms of architecture and fetching would mean tweaking the endpoints as done in the various products, right?

Need this for a service I am working on and wanted to know what limits us from having it on this package, if any.

Normalize config and params types

The params and config types can use a review and normalization. params can vary depending on the type of payload accepted by the specific call to Plaid, but config should be standard for all function calls given it uses internal, consistent parameters.

Institutions calls not returning correct API response

Hey y'all, this library is fantastic. Thank you so much. I am using
Institutions.get() and my response comes back with nils. I logged the following http response in Plaid.Utils and it came back as expected.

  def handle_resp({:ok, %HTTPoison.Response{status_code: code} = resp}, endpoint)
      when code in 200..201 do
    {:ok, map_response(resp.body, endpoint)}
  end

Any ideas on what this could be? My Plaid credentials / env vars have been no issue with the rest of this library.

Support "investments" product

Plaid made this product available very recently. I'm already made most of the required changes to support this, I'll push a PR soon.

Plaid swag?

Hi @wfgilman -- sorry for opening an issue but I don't have a better way to get in touch with you.

Anyway, I'm on the Developer Relations team at Plaid and I just wanted to say thanks for your work maintaining this library.

As a thank-you we'd like to send you a small Plaid care package. If you're interested, can you let me know your shipping address, t-shirt size, and if there are any items you'd particularly like? You can DM me on Twitter at @plaiddev or email [email protected].

Thanks,
Alex

P.S. If you haven't already seen it, you might be interested in our newly-published OpenAPI file at https://github.com/plaid/plaid-openapi, which is designed to make Plaid SDK generation easier -- we'd love to hear any feedback you might have!

Implement Authentication endpoint

Hey, we could use your lib where I work, I was wondering if you would accept some suggestions?
Would it be ok if we could implement

  • The authentication endpoint
  • Make json parse and http client configurable?

Plaid won't ignore pk if sent

image
Very particular.

According to the docs, public_key is required for:

POST /institutions/search
POST /institutions/get_by_id

and it's apparently now allowed for any other call. This affects the dynamic config where I'm just passing everything in.

Support for client/secret instead of public key

Plaid has deprecated the use of public key auth in APIs, and new accounts can't even generate a key. As best as I can tell, this means I can't use plaid-elixir to pull institution information, since it forces the existence of a configured public key.

Looking at the implementation, it appears that this could be as simple as swapping out usages of validate_public_key for validate_cred. I'm not sure what kind of backward capability you're looking to maintain though. Anything I'm missing? If not, I can start working on a PR. Thanks!

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.