Some of the thoughts behind 3.x can be gleaned from Hugo Wetterberg's presentation from Drupal Camp Stockholm 2009.
In short the big changes from 2.x are:

  • The transition to resources (with CRUD support) from rpc-style services
  • Services endpoints can be placed on arbitrary paths in the menu system and configured completely independently
  • endpoints can be disabled
  • Endpoints can have debugging enabled
  • Endpoints are exportable and can be packaged as features (with or without the Features module).

All this means that modules now can use services to expose APIs - a combination of services, a server and, optionally, an authentication method. And it's those who want to develop these API-providing modules, the services, servers and authentication modules, that is the intended audience for this preview release.

One thing we are looking into is Tests! We currently have tests for all administration tasks. The client->server tests have been written but do not have 100% coverage yet.

Documentation in progress

The links below are designed to help contributors get involved in Services 3.x. If you find any missing or incorrect information below, please feel free to correct it! Things will be moving along pretty quickly and parts of the documentation are sure to fall out of date.

Comments

joe casey’s picture

See http://drupal.stackexchange.com/questions/4718/how-to-create-test-endpoint

Scroll down for step-by-step screenshots of setting up a REST server using only the built in capabilities of the Services module - No Coding!

Anonymous’s picture

I'm trying to update the target language of a node.
Multi lang has been enabled and french has been added. This node was created from the ui but I'm looking to update it or add a translation from the rest api. Can anyone tell me if this is possible? It only updates the source EN portion.

using the PUT.

{ "body" : { "en" : [ { 
            "value" : "body - updated by rest"
          } ],
      "fr" : [ { 
            "value" : "body - updated by rest"
          } ]
    },
  "type" : "article"
}
bibstha1’s picture

Could someone put the 'Installation and Setup' link at the top insetead of more than halfway down.
It helps new users of services module to get started quickly.

mdedere’s picture

A good resource to unterstand the module Services is "Services Sandbox. Testing resources on a test server."
http://drupal.org/node/1447020. I wished I explored it first of all!

ybthefurste’s picture

Hierarchical Select has its own peculiarity when creating node using Services. Format is, of course, different in D7/Services 3 than it was in D6/Services 2, and I failed to find online documentation or anyone who has posted the input format. I did figure it out, so for anyone having trouble creating a node on a RESTful server, here is the JSON format for a sample post:

{
"body":"","type":"teahouse","title":"TestingTitle","uid":"0",
"locations":[{"city":"Kalamazoo"}],
"taxonomy_vocabulary_1":{"und":{"hierarchical_select":{"selects":[1,18,35]}}},
"status":"1",
"field_redtea":{"und":[{"value":"1"}]},
"field_bubbles":{"und":[{"value":"boba poppers","format":null,"safe_value":"boba poppers"}]},
"field_hour_thu_close":{"und":"17"}
}

notes:
1. I've arranged it for legibility and entered only a few random fields to demonstrate how different types of fields are entered. Poster accepted it fine just like this.
2. The hierarchical select is used for the taxonomy; taxonomy_vocabulary_1 is the machine name of my the vocabular that I use here.
3. This is a multilingual site using the i18n module, and I think that is the reason for the "und"
4. The nodes incorporate Location.
5. "status" set to 1 means the post will be published.
6. "field_redtea" is a checkbox field.
7. "field_bubbles" is a multi-line text field.
8. "field_hour_thu_close" is a dropdown selection.

isinadinos’s picture

I am following you instructions, most seem to work, except from the locations field. Node is created but the location is not saved.
In my case I added the following:

"locations":{
      		"und":[
              		{
                     "address":{"field":"Lund, Sweden"},
                     "latitude":"55.7046601",
                     "longtitude":"13.191007300000024"
                    }
            ]
    }

No errors found in logs (I enabled the debugging mode on services 3.14).
Any suggestions?

aolaze’s picture

Did you update the taxonomy_term reference and entity reference.