Feature Requests

Discussion in 'Shapeways API' started by mctrivia, Apr 20, 2011.

  1. mctrivia
    mctrivia Member
    Ok so I have made my requests known in several locations. This is to make a list of requests. And keep track of there status. Admins please feel free to alter this first post to keep statuses and list up to date.

    1) Return ID and Hash Code of object on upload.
    Status: ID can be retrieved if application-id is set to 'generated-creator' but this is temporary work around. Hash Code can not be retrieved at this time.
    2) Get Hash code of hidden object from id.
    3) Upload files larger then 16MB
    4) Get callback URL on render error.
    5) Get product volume after upload
    6) Change markup of a product.
    7) Ability to set markup for each material type or set to -1 for not allowed.
    8) Callback URL on product purchased/product shipped - I want my server to be able to monitor when products uploaded through API are purchased and shipped instead of emails.
    9) function to compute volume of an object - You have something that computes the volume of the model we send to you. Strip it out package it in a small PHP object and give it to us so we can make sure we have the correct volume before uploading. If we have this then feature requests 5 & 6 are not strictly necessary.
    10) dual key login system - Give each API creator a password. Each shop owner already has a password. The API creators password is publicly known the shops are not. You then make it so the API can log in as a shop by using the results of hash("sha512",$shopPassword.$APIpassword) instead of the shops password. The advantage to this is the API administrator does not need the shops password, and second if the API administrators site gets hacked you can just change the API's password and the database content becomes useless. Even if you encrypt your database this can be safely used by changinf $shopPassword to hash("sha512",yourhashfunction($shopPassword).$salt) then if your database gets hacked you just change $salt and everyone has to update before things work again.

    Nice but not necessary:
    1) Change description of a product - I uploaded 191 files but in description wrote 195. Lots of manual updating for me.

    Please feel free to add your own and I will try to keep the list updated.
    Last edited: May 2, 2011
  2. dizingof
    dizingof New Member
    I recently uploaded 295 models.. with almost all their info in only few hours... by coding an automated script using Autohotkeys software.

    It will take a lot of the tedious/repetitive tasks off your hand - like for ex. choosing a set of materials for a specific category, batch uploading automatically etc..

  3. horst
    horst New Member
    As mentioned by mctrivia, you can retrieve a model ID for a public (not private) model, as visible in the following code:

    if ($application_id == 'generated-creator') {
    $returnValue = $modelEntity->id;
    } else {
    $returnValue = "successful";

  4. stonysmith
    stonysmith Well-Known Member Moderator
    Is (or can) it be possible thru the API to download a complete list of the items in my shop?

    I need to check that all my models are properly assigned to the various shop sections, and it'd be really handy to help me review the current markups.
  5. horst
    horst New Member
    It is not possible right now, because our API features are basically limited to uploading models.

    It is possible to extend the API to include this feature, but it's not something I'm able to schedule for a while yet. We've got a lot of high-priority work in our roadmap right now, largely around improving our site's user experience.

  6. minhloc
    minhloc New Member
    the current markup input system could be better;

    it takes a little while ( a few seconds ) to show the markup for each material, furthermore it is difficult to have an overview.

    how about displaying all markup in one go (as a mini worksheet)
    it would be easier to see and to update
    combine this with a ticklist, and one would also know which material one wants for the model. (or no markup = material not chosen )

    other suggestions: how about a markup as a percentage ?
    then markup can follow materials price change automatically.

    Last edited: Sep 7, 2011
  7. macouno
    macouno New Member
    I have to say I like the "markup as percentage" request. It's not necessary but would be nice.

    More importantly I'm finding... I really need a status update/request. See my latest experiment here: http://ship.shapewright.com/

    Let me explain what I'm doing now... I upload to shapeways from there... and retrieve the item id... so I can make a link to the item in my shop or the shopping basket.

    Then I don't really want to give people a link to my shop where they will get a rather ugly page telling them the model is being processed. That's going to lose me 75% of customers if not more. So... I wrote a small script that checks to see if the model page at shapeways is available (has the right image tag in it). In the meantime I'm keeping people on my page, asking them to wait. Then once the shapeways page is up... I forward them straight to the shopping cart, adding my new product to it.

    Here's the problem... There's no real status report on a specific model that I can get! So I'm forced to read the html... and that only tells me whether the model was processed successfully. If there's a problem with the model, I'll get that in my e-mail, but the page will get stuck on the "just wait". It would be perfect if we could request model status, and just have that return a nr... like 100 = ok & for sale, 200 = being processed still, 300 = something went wrong (and you could do 301 for problem type 1, 302 for 2 and so forth...)

    And the second request has been mentioned before... the only way I can try to force material choice on my customers is by sending them to the cart in stead of my shop... not too nice...
  8. mctrivia
    mctrivia Member
    there is an undocumented way to restrict material choices. If I can find my code examples I will put it up. It seems shapeways has abandend the API.
    Last edited: Sep 18, 2011
  9. macouno
    macouno New Member
    If you can find it, that would be great!

    BTW, if that is true... I think it's a huge mistake. It's perhaps a bit "early" for a full API. Because there's not that many people using it yet... but developing a proper nice one right now can only benefit them later on... This thing will only get bigger.
  10. duann
    duann New Member
    Oooh macouno,

    I really like your latest projects feeding into the API.. Very Cool.
  11. mctrivia
    mctrivia Member
    when you submit a model. To restrict to just WSF you would add the following to the model array

    'materials' => array('White, Strong & Flexible'),
    Please not materials are case sensitive and must be exact. I asked for material number but they like making things hard.

    If you want to allow in more then 1 then just add all others to array.
  12. macouno
    macouno New Member
    Thanks dude, that's very helpfull!

    I'll go try it out quick! And yeah... not very logical to do it based on text in stead of an id nr...
  13. macouno
    macouno New Member
    You know what....

    It would really be nice to have the option to only have an error e-mail sent if a file is submitted from the API.

    And perhaps... to also make that file available. Then we can check what is actually wrong with it. I think in my case it's people quitting the page whilst it's still uploading or something (happens once for every 100 uploads).
  14. mctrivia
    mctrivia Member
    use a cron job to do the render /upload. this way even if the user leaves the page your server keeps on going. It also reduceses server load if a lot of people use at once because your server will only process one at a time.
  15. macouno
    macouno New Member
    Yeah that's what I'm doing. Or I am doing two things at the same time... I have a cron job that checks unchecked links to shapeways every 2 minutes... and if someone loads a model on a page I have a javascript thing requesting a check once every minute.. My server's fine so far.

    Another thing though... My shop is filling up with customised objects... is there a way to keep them out of your "general shop"... or can we maybe open multiple shops? It's hard to find my non customisable stuff amongst 700 space ships ;)
  16. mctrivia
    mctrivia Member
    I opened a second shopp called ICC (Instant Co Create) to stop this. The development team stopped work on the API before adding such important features as the ability to delete old models.
  17. macouno
    macouno New Member
    Just in case the shapeways crew does read this, and may decide to pick up on the API development... here's another one...

    Since I have 1400ish uploads to shapeways now... my shop is a huge big mess. You know what... I wouldn't mind at all if we could set a "lifetime" variable when uploading.

    I think it would be fine to tell people "Your model will be available for a week". And if they order it inside that week you just keep a copy in the background for the production of it... but remove it from the store front... And as soon as all required copies have been produced... remove it.