Any Word on the API and the new SmugMug?

martythornleymartythornley Registered Users Posts: 23 Big grins
I just watched the unveiling of the new SmugMug. Very cool! Congrats on the new release - I know it was a lot of work and a long time coming. But VERY impressive!

The question(s) is(are...

it all seems so different, how will the API be effected, if at all?

Will there be the ability to send customization info, like we could to the old version? For example, it looks like you can design a theme and define custom CSS - would we be able to do that programmatically?

Are there any new calls for being able to create pages, folders, menus, etc. via API?

I am guessing existing calls to grab galleries and images would still work but would the new folder system of organization mess with that at all?

Thanks for any information you can provide!
«1

Comments

  • voleninvolenin Registered Users Posts: 3 Beginner grinner
    edited July 30, 2013
    Second that! Especially with regards to creating folder structure. This part seems to have changed completely, though hopefully in backwards compatible way. (I think the first two level of folders will be mapped to Category and Subcategory accordingly). Any ETA on when API will be updated? Or at least first beta version is available?
  • martythornleymartythornley Registered Users Posts: 23 Big grins
    edited August 1, 2013
    I know you are all probably super busy answering new questions but I can't wait to play with the new toys via the API if that is even possible? If not yet, I already have lots of ideas based on some quick playing with the new interface and designs and would love to contribute where I can!
  • gluwatergluwater Registered Users Posts: 3,599 Major grins
    edited August 2, 2013
    Hi guys, We are working on API 2.0 but it's not ready for general consumption yet. I'm working on putting together a list of changes for you and I'll post it on the API wiki and here as well.
    Nick
    SmugMug Technical Account Manager
    Travel = good. Woo, shooting!
    nickwphoto
  • ScolleyScolley Registered Users Posts: 1 Beginner grinner
    edited August 6, 2013
    Api help please
    Having merged with the new Smug Mug I have been concerned that my domain no longer points to my Smug Mug account. I can't remember how I previously linked just my portfolio gallery to my website and am now very confused.

    When I log into my Go Daddy account there is no information in DNS Manager, under the A Host (IP Address) or CNAME, consequently when I type in my Custom Domain in Account Settings in Smug Mug it isn't recognised. I would happily type in the A Host (IP Address) or CNAME into the DNS Manger in Go Daddy again however I don't understand why my previous information has now disappeared.

    Could someone kindly explain why this could of happened? Also my Domain did point to one particular gallery in Smug Mug. Would you set up your Custom Domain differently if you were to link just one gallery? I hope someone can help with my query.
  • rharrisonrharrison Registered Users Posts: 3 Beginner grinner
    edited August 12, 2013
    Upload API not working with the new SmugMug
    I'm discovering that I'm no longer able to upload photos from any of the programs that worked up until I made the transition to the new site. [1] I've been unable to find any references to any changes in the upload API in the last two months so I'm wondering what the issue could be here. If you can point me to any API changes and what the new requirements are I can pass this information on to the various Open Source projects experiencing these issue.

    [1] Kipi plugin - SmugMug API access fails after SmugMug relaunch
  • thefellathefella Registered Users Posts: 20 Big grins
    edited August 13, 2013
    I'm also wondering about the new API. Surely it should have been developed in tandem with the new site? In fact, it really should have been developed before and had the new site sitting on top of it calling all the new endpoints.

    Are we talking days, weeks or months for a release? One of the reasons why I paid for smugmug was to use the API to pull my photos into my own site. This is now impossible without an updated API.
  • wiredprairiewiredprairie Registered Users Posts: 12 Big grins
    edited August 13, 2013
    it's possible that the application was relying on the old upload technique (here). The Windows app I wrote using their 1.2 API still uploads just fine with a transitioned SmugMug web site.
    rharrison wrote: »
    I'm discovering that I'm no longer able to upload photos from any of the programs that worked up until I made the transition to the new site. [1] I've been unable to find any references to any changes in the upload API in the last two months so I'm wondering what the issue could be here. If you can point me to any API changes and what the new requirements are I can pass this information on to the various Open Source projects experiencing these issue.




    [1] Kipi plugin - SmugMug API access fails after SmugMug relaunch
  • suntsusuntsu Registered Users Posts: 37 Big grins
    edited August 14, 2013
    I just switched to the new design, and did notice that my windows phone and windows 8 apps don't work anymore.
    It seems when using the new design, the old api is broken(is this correct?), and the new api is not yet ready(is this correct).

    I can't just belive this.
    Could you please put a statement when the new api will be ready and what the changes will be?
    But anyway, it seems this update was not planned properly.

    cheers
    manuel
    MySmug, my Windows phone 7 smugmug client.
    News about can be found on my website.
  • wiredprairiewiredprairie Registered Users Posts: 12 Big grins
    edited August 14, 2013
    Can you be more specific about what doesn't work anymore? I'm using the 1.2 series of SmugMug API with a new "2.0" site, and other than one issue with categories, I haven't had any problems with the API against an upgraded site.
    suntsu wrote: »
    I just switched to the new design, and did notice that my windows phone and windows 8 apps don't work anymore.
    It seems when using the new design, the old api is broken(is this correct?), and the new api is not yet ready(is this correct).

    I can't just belive this.
    Could you please put a statement when the new api will be ready and what the changes will be?
    But anyway, it seems this update was not planned properly.

    cheers
    manuel
  • suntsusuntsu Registered Users Posts: 37 Big grins
    edited August 15, 2013
    Can you be more specific about what doesn't work anymore? I'm using the 1.2 series of SmugMug API with a new "2.0" site, and other than one issue with categories, I haven't had any problems with the API against an upgraded site.

    I have an application which shows the photo of your own gallery, even if those photos are in a private album.

    I do get a list of albums with the following rest call:
    GET https://api.smugmug.com/services/api/json/1.3.0/?method=smugmug.albums.get&Extras=Highlight%2CThumbURL HTTP/1.1
    Authorization: OAuth oauth_callback="oob", oauth_consumer_key="consumerkey", oauth_nonce="fs1zu2g8", oauth_signature="signature%2FYrk%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1376543058", oauth_token="token", oauth_version="1.0"
    Host: api.smugmug.com
    Connection: Keep-Alive
    

    The response contains a list of all albums with a link to the corresponding thumbnail.
    This link does not contain any album information(kind of a guid).
    http://yougallery.smugmug.com/photos/i-zXdmcxQ/0/Th/i-zXZmcxQ-Th.jpg
    

    If a photo was in a gallery which is private, but has external links allowed, this url can be used to retrieved the photo without setting the oauth header.

    With the latest version of smugmug this seems to be changed. If i call just this url, i get a http 401, and if i set the oAuth header, for the get request, it works.

    And this is in my opinion a breaking change in the api.

    The same is true for the photos of a gallery as well btw.
    MySmug, my Windows phone 7 smugmug client.
    News about can be found on my website.
  • thenickdudethenickdude Registered Users Posts: 1,302 Major grins
    edited August 15, 2013
    Really? That has not been my experience at all. For example, this is the featured thumbnail of an unlisted gallery of mine:

    http://n-sherlock.smugmug.com/photos/i-s5Tf7T9/0/Th/i-s5Tf7T9-Th.jpg

    From what I've seen so far, if you know the ID for an image you can see it pretty much no matter what.

    Wait, are you using an Unlisted gallery, or a Private one? Did the old SmugMug even have Private galleries?
  • thefellathefella Registered Users Posts: 20 Big grins
    edited August 15, 2013
    Can you just release a 1.3.1 that has the 'title' field being returned?
  • rharrisonrharrison Registered Users Posts: 3 Beginner grinner
    edited August 16, 2013
    it's possible that the application was relying on the old upload technique (here). The Windows app I wrote using their 1.2 API still uploads just fine with a transitioned SmugMug web site.

    I don't think the problem is actually with uploading. I think the issue is happening when the plugin attempts to retrieve the list of existing galleries from SmugMug. I don't even get to the point where I can attempt the upload.
  • thefellathefella Registered Users Posts: 20 Big grins
    edited August 20, 2013
    Has the API and this particular forum been forgotten about?
  • ramblurrramblurr Registered Users Posts: 3 Beginner grinner
    edited August 22, 2013
    Eagerly awaiting the release of the new API...
  • gluwatergluwater Registered Users Posts: 3,599 Major grins
    edited August 27, 2013
    Scolley wrote: »
    Having merged with the new Smug Mug I have been concerned that my domain no longer points to my Smug Mug account. I can't remember how I previously linked just my portfolio gallery to my website and am now very confused.

    When I log into my Go Daddy account there is no information in DNS Manager, under the A Host (IP Address) or CNAME, consequently when I type in my Custom Domain in Account Settings in Smug Mug it isn't recognised. I would happily type in the A Host (IP Address) or CNAME into the DNS Manger in Go Daddy again however I don't understand why my previous information has now disappeared.

    Could someone kindly explain why this could of happened? Also my Domain did point to one particular gallery in Smug Mug. Would you set up your Custom Domain differently if you were to link just one gallery? I hope someone can help with my query.
    Hi Scolley,

    The new SmugMug and the API have nothing to do with your custom domain name. We are not linked to GoDaddy so migrating your SmugMug account to the new system would not have affected your DNS records at GoDaddy. Please use these at GoDaddy to setup your custom domain again if you have not already done so.

    www CNAME pointing to domains.smugmug.com
    @ A record pointing to 208.79.45.23
    Nick
    SmugMug Technical Account Manager
    Travel = good. Woo, shooting!
    nickwphoto
  • gluwatergluwater Registered Users Posts: 3,599 Major grins
    edited August 27, 2013
    rharrison wrote: »
    I'm discovering that I'm no longer able to upload photos from any of the programs that worked up until I made the transition to the new site. [1] I've been unable to find any references to any changes in the upload API in the last two months so I'm wondering what the issue could be here. If you can point me to any API changes and what the new requirements are I can pass this information on to the various Open Source projects experiencing these issue.

    [1] Kipi plugin - SmugMug API access fails after SmugMug relaunch
    What version of the API were you using? API 1.2.0 and 1.2.1 were deprecated 5 years ago and you will have trouble if you were using those. You need to be on a minimum of API 1.2.2 and you should be using OAuth. API 1.3.0 is preferred.

    If that doesn't help please email me directly at api@smugmug.com for further help.
    Nick
    SmugMug Technical Account Manager
    Travel = good. Woo, shooting!
    nickwphoto
  • ncdncd Registered Users Posts: 1 Beginner grinner
    edited September 3, 2013
    If you need any beta-testers to try things out please shout!

    I'm keen to make use of the new nested folder functionality when it becomes available.

    Thanks!
  • thefellathefella Registered Users Posts: 20 Big grins
    edited September 6, 2013
    Still waiting on some news...
  • thefellathefella Registered Users Posts: 20 Big grins
    edited September 30, 2013
    It's good that we keep getting updates on what's going on...
  • thefellathefella Registered Users Posts: 20 Big grins
    edited October 16, 2013
    And still waiting...
  • kiwiflapjackkiwiflapjack Registered Users Posts: 1 Beginner grinner
    edited December 23, 2013
    thefella wrote: »
    And still waiting...

    +1.

    AFAICT, the subcategory that you get on an album in 1.3.0 is the last level in the new "directory" structure. I can rebuild the directory structure by recursively querying subcategories and building a tree that takes me from the last level subcategory back to the category. This is a pretty gross solution, but at least there is a temporary workaround.

    It would be great if SmugMug folks are able to share a draft of the 2.0 API to gather developer feedback. For instance, it would give me a huge performance boost if I could query the imageInfo for all images in an album in one transaction, versus individual imageInfo requests. And probably would reduce load on the servers too, if there are fewer large requests.
  • wiredprairiewiredprairie Registered Users Posts: 12 Big grins
    edited December 23, 2013
    thefella wrote: »
    And still waiting...

    Maybe this is like Twitter, and SmugMug doesn't want to encourage 3rd party development anymore?
  • marconielsenmarconielsen Registered Users Posts: 2 Beginner grinner
    edited January 6, 2014
    One of the reasons I continue to renew my Smugmug Pro subscription is the fact of the large 3rd party support the product provides through the APIs.

    I'm sadden to see that I may need to reevaluate this and was hoping for some better support on the API side as in the rest of the product.. Love all the new features, but if it breaks all the tools patience is running out..

    Marco..
  • jhofkerjhofker Registered Users Posts: 136 Major grins
    edited January 7, 2014
    I'm still plugging away at my Windows 8 app using the 1.3.0 API and I'd definitely love to hear about 2.0.

    Any news, guys?
  • thefellathefella Registered Users Posts: 20 Big grins
    edited January 13, 2014
    As much as I like SmugMug, the way they've handled the new website launch and left the API behind is dreadful.
  • jhofkerjhofker Registered Users Posts: 136 Major grins
    edited January 13, 2014
    If you install Fiddler and browse around your SmugMug site, you'll see calls out to the 1.4.0 API. A motivated person could probably start to direct calls that direction and see what comes back.

    I finally got OAuth working on 1.3.0 last night, so I'm not that motivated (yet).
  • thenickdudethenickdude Registered Users Posts: 1,302 Major grins
    edited January 13, 2014
    There's actually a v2 API there too (which is what the SmugMug Lightroom plugin uses). I suspect that the v2 API will be the one that will be made publicly available.

    Interestingly, the v2 API will describe itself to you:
    # List v2 endpoints
    curl -H 'accept: application/json' --compressed "http://www.smugmug.com/api/v2" | python -mjson.tool
    
    {
        "Code": 200,
        "Message": "Ok",
        "Options": {
            "MediaTypes": [
                "application/json",
                "application/vnd.php.serialized",
                "application/x-msgpack",
                "application/xml",
                "text/html",
                "text/csv"
            ],
            "Methods": [
                "OPTIONS",
                "GET"
            ]
        },
        "Request": {
            "Method": "GET",
            "Uri": "/api/v2",
            "Version": "v2"
        },
        "Response": {
            "EndpointType": "Versionv2",
            "Uri": "/api/v2",
            "UriDescription": "API Version 1",
            "Uris": {
                "AlbumBase": {
                    "EndpointType": "AlbumBase",
                    "Uri": "/api/v2/album",
                    "UriDescription": "Base URI for album-related operations"
                },
                "AlbumTemplateBase": {
                    "EndpointType": "AlbumTemplateBase",
                    "Uri": "/api/v2/albumtemplate",
                    "UriDescription": "Base URI for album-related operations"
                },
                "CommentBase": {
                    "EndpointType": "CommentBase",
                    "Uri": "/api/v2/comment",
                    "UriDescription": "Base URI for comment-related operations"
                },
                "CommunityBase": {
                    "EndpointType": "CommunityBase",
                    "Uri": "/api/v2/community",
                    "UriDescription": "Base URI for community-related operations"
                },
                "CouponBase": {
                    "EndpointType": "CouponBase",
                    "Uri": "/api/v2/coupon",
                    "UriDescription": "Base URI for coupon-related operations"
                },
                "DownloadBase": {
                    "EndpointType": "DownloadBase",
                    "Uri": "/api/v2/download",
                    "UriDescription": "Base URI for download-related operations"
                },
                "FolderUserBase": {
                    "EndpointType": "FolderUserBase",
                    "Uri": "/api/v2/folder/user",
                    "UriDescription": "Base URI for user folder-related operations"
                },
                "GuideBase": {
                    "EndpointType": "GuideBase",
                    "Uri": "/api/v2/guide",
                    "UriDescription": "Base URI for guide-related operations"
                },
                "ImageBase": {
                    "EndpointType": "ImageBase",
                    "Uri": "/api/v2/image",
                    "UriDescription": "Base URI for image-related operations"
                },
                "ImageKeywordBase": {
                    "EndpointType": "ImageKeywordBase",
                    "Uri": "/api/v2/imagekeyword",
                    "UriDescription": "Base URI for keyword-related operations"
                },
                "KeywordBase": {
                    "EndpointType": "KeywordBase",
                    "Uri": "/api/v2/keyword",
                    "UriDescription": "Base URI for keyword-related operations"
                },
                "MarketingEventBase": {
                    "EndpointType": "MarketingEventBase",
                    "Uri": "/api/v2/marketingevent",
                    "UriDescription": "Base URI for marketingevent-related operations"
                },
                "NicknameUrlPathLookup": {
                    "EndpointType": "NicknameUrlPathLookup",
                    "Locator": "Folder,Album,Page",
                    "LocatorType": "Object",
                    "Uri": "/api/v2!nicknameurlpathlookup",
                    "UriDescription": "Lookup resource by Nickname and UrlPath"
                },
                "PageBase": {
                    "EndpointType": "PageBase",
                    "Uri": "/api/v2/page",
                    "UriDescription": "Base URI for page-related operations"
                },
                "Permission": {
                    "EndpointType": "Permission",
                    "Locator": "Permission",
                    "LocatorType": "Object",
                    "Uri": "/api/v2/permissions",
                    "UriDescription": "Authenticate User Permissions"
                },
                "PrintmarkBase": {
                    "EndpointType": "PrintmarkBase",
                    "Uri": "/api/v2/printmark",
                    "UriDescription": "Base URI for printmark-related operations"
                },
                "SiteUser": {
                    "EndpointType": "SiteUser",
                    "Locator": "User",
                    "LocatorType": "Object",
                    "Uri": "/api/v2!siteuser",
                    "UriDescription": "Site User"
                },
                "Stats": {
                    "EndpointType": "Stats",
                    "Uri": "/api/v2/stats",
                    "UriDescription": "Base URI for stats-related operations"
                },
                "StatusBase": {
                    "EndpointType": "StatusBase",
                    "Uri": "/api/v2/status",
                    "UriDescription": "Base URI for user status-related operations"
                },
                "TemplateBase": {
                    "EndpointType": "TemplateBase",
                    "Uri": "/api/v2/template",
                    "UriDescription": "Base URI for template-related operations"
                },
                "ThemeBase": {
                    "EndpointType": "ThemeBase",
                    "Uri": "/api/v2/theme",
                    "UriDescription": "Base URI for theme-related operations"
                },
                "UserBase": {
                    "EndpointType": "UserBase",
                    "Uri": "/api/v2/user",
                    "UriDescription": "Base URI for user-related operations"
                },
                "UserSettingBase": {
                    "EndpointType": "UserSettingBase",
                    "Uri": "/api/v2/usersetting",
                    "UriDescription": "Base URI for usersetting-related operations"
                },
                "WatermarkBase": {
                    "EndpointType": "WatermarkBase",
                    "Uri": "/api/v2/watermark",
                    "UriDescription": "Base URI for watermark-related operations"
                }
            }
        }
    }
    
    #Describe an endpoint:
    
    curl -H 'accept: application/json' --compressed 'http://n-sherlock.smugmug.com/api/v2/album' | python -mjson.tool
    
    {
        "Code": 200,
        "Message": "Ok",
        "Options": {
            "MediaTypes": [
                "application/json",
                "application/vnd.php.serialized",
                "application/x-msgpack",
                "application/xml",
                "text/html",
                "text/csv"
            ],
            "Methods": [
                "OPTIONS",
                "GET"
            ]
        },
        "Request": {
            "Method": "GET",
            "Uri": "/api/v2/album",
            "Version": "v2"
        },
        "Response": {
            "EndpointType": "AlbumBase",
            "Uri": "/api/v2/album",
            "UriDescription": "Base URI for album-related operations",
            "Uris": {
                "AlbumImageKeyLookup": {
                    "EndpointType": "AlbumImageKeyLookup",
                    "Locator": "AlbumImage",
                    "LocatorType": "Object",
                    "Uri": "/api/v2/album!albumimagekeylookup",
                    "UriDescription": "Lookup image by its Album and Image Key"
                },
                "AlbumKeyLookup": {
                    "EndpointType": "AlbumKeyLookup",
                    "Locator": "Album",
                    "LocatorType": "Object",
                    "Uri": "/api/v2/album!albumkeylookup",
                    "UriDescription": "Lookup album by its Album Key"
                }
            }
        }
    }
    
  • marconielsenmarconielsen Registered Users Posts: 2 Beginner grinner
    edited January 25, 2014
    Cool, so where is the documentation on the API v2 for the developers so customers can continue to use SmugMug effectively?
  • thenickdudethenickdude Registered Users Posts: 1,302 Major grins
    edited January 25, 2014
    As far as I know, there is none. I imagine that at the moment, the v2 API is still evolving alongside the consumers that SmugMug is writing, so it hasn't been finalised yet (that would be Lightroom, some of the features of the SM web interface like image editing, probably the new iPad app).

    It would be quite possible to reverse engineer a specification, but it wouldn't be very useful if the API is still currently changing.
This discussion has been closed.