Problem With Pricing After Model Upload

Discussion in 'Shapeways API' started by mingles, Sep 9, 2016.

Tags:
  1. mingles
    mingles Member
    Hi,

    I'm having problems with my application. This problem only started occurring a couple of days ago. It was fine prior to that. I believe something has changed with how Shapeways handles POST request on /models.

    Once a user has created their model on my site, it is uploaded to the Shapeways API. My application sets the markup and available materials for each sword, for example:

    'materials': {66: {'markup': 1.5, 'isActive': 1}, 6: {'markup': 1.5, 'isActive': 1}, 75: {'markup': 1.5, 'isActive': 1}, 76: {'markup': 1.5, 'isActive': 1},....

    the response I get back however doesn't take into account the markup, or even the price of that respective material despite the material being active (note materialId: 66):

    'materials': {u'122': {u'price': 0, u'markup': 0, u'isActive': 0, u'materialId': 122}, u'66': {u'price': 0, u'markup': 0, u'isActive': 1, u'materialId': 66}, u'104': {u'price': 0, u'markup': 0, u'isActive': 0, u'materialId': 104}, ....

    It also seems to disregard the defaultMaterialId despite having been set as a parameter in the original request:

    'defaultMaterialId': ""

    On the page where the model would be for sale, a price is listed, but "Not For Sale" is below. None of the materials are available.

    Curious if the parameters of the API have changed in the last couple of days as everything was working fine these past few months. If so, how do I fix this?
     
    Last edited: Sep 9, 2016
    Andrewsimonthomas likes this.
  2. Andrewsimonthomas
    Andrewsimonthomas Well-Known Member
    Liking this because I saw it, not because i like it :)

    Flagging for the team to check into this.
     
    minglesFactory likes this.
  3. crnm
    crnm Well-Known Member
    Hi @mingles,

    Would you mind posting here or sending me a Private Message with the exact API call you made? This will make the issue a lot easier to find. You can omit the model file, I can use a dummy model instead.

    Thanks,
     
  4. I'm having the exact issue, using PHP. Seems like something was changed recently; now all my uploads are showing as 'not for sale'. It worked before.
    To upload I use POST /models/v1 . Afterwards to change the markup I use PUT /models/{modelId}/info/v1 . I'm setting the isForSale parameter to 1.
    Please advise.

    Cheers,
    Dan
     
  5. imdaveho
    imdaveho Shapeways Employee Product Team
    Hey guys,

    We're investigating this issue. We fixed the "Not For Sale" issue, but the most recent mentions of markup not being set is something we're looking into.

    If you could provide additional information using this form: bitl.y/api-issues-form, that would be great.

    Best,
    Dave

    (Product Manager at Shapeways)
     
  6. nicolew
    nicolew Member
    Hi @mingles and @dmagn25 - We believe that we have found the issue that you are referring to and have deployed a fix. Can you please try again and let us know if you continue to see any issues?

    Thanks!

    Best,
    Nicole
     
  7. mingles
    mingles Member
    Yes, the issue has been fixed! Thanks for looking into it. I appreciate it.
     
    Andrewsimonthomas likes this.
  8. rosen21
    rosen21 Member
    I'm not entirely certain it is the same problem, but I think these symptoms have reappeared lately. All of my models since the 21st of November have been showing up as "Not for Sale", and things like pricing and default materials seem to be ignored. I'm using the same workaround discussed here (PUT call to models/{modelId}/info/v1) but it would be great if the material and pricing information in the original POST call could be used rather than requiring that I make two calls.

    The exact call I'm making (in python pretty printed json) is:

    {'acceptTermsAndConditions': True,
    'defaultMaterialId': 62,
    'fileName': 'for_sale_test.zip',
    'file': b64encode(model_file),
    'hasRightsToModel': True,
    'isPublic': False,
    'materials': {
    u'62': {'isActive': True, 'markup': 0.01, 'materialId': u'62'}
    'title': u'For Sale Test'}

    Have others noticed this issue?

    Thanks!
     
  9. mctrivia
    mctrivia Well-Known Member
    I am having the same problem. When I POST following data correct material is chosen but show pricing at cost. If I uncomment 121 material section(glazed full color sand stone) it becomes not for sale.

    PHP:
    $data = array(
          
    "file" => base64_encode($file),
          
    "fileName" => $filename.".zip",
          
    "hasRightsToModel" => 1,
          
    "acceptTermsAndConditions" => 1,
          
    "title" => "Test Coin",
          
    "description"=>"sandwallet.com generated box",
          
    "isPublic"=>0,
          
    "isClaimable"=>0,
          
    "isForSale"=>1,
          
    "isDownloadable"=>0,
          
    "materials"=>array(
            
    "26"=>array(
                
    "materialId"=>26,
                
    "isActive"=>1,
                
    "price"=>15.99
            
    ),/*
            "121"=>array(
                "materialId"=>121,
                "isActive"=>1,
                "price"=>15.99
            )*/
          
    ),
          
    "defaultMaterialId"=>26
        
    );
     
  10. MineToys
    MineToys Member
    Hello.
    It seems that this problem is still here and alive. Posting the same things sadly returns the object as not available for sale. And this was not appearing before.
     
  11.