User objects allow clients to login to the client area https://<your username>.snapbill.com.
This api call will create a user. Since we have not specified the username and password they will be automatically generated.
Note The password is returned here, but will not be available in future requests.
$ curl -u user:pass -d "name=George&email=george@example.com" \ > https://api.snapbill.com/v1/client/158958/add_user.json
File: examples/user.txt-1.json -
{
"code": 200,
"type": "item",
"class": "user",
"user": {
"depth": 0,
"id": 2481,
"xid": "Clw:mx",
"username": "george1",
"password": "f*cjPyT!3xe",
"name": "George",
"email": "george@example.com",
"type": "user",
"client": {
"depth": 1,
"id": 158958,
"xid": "Clw:mzu",
"state": "active",
"number": "001",
"name": "test4128",
"account": {
"depth": 1,
"id": 10608,
"xid": "Clw:Clw",
"username": "demo"
},
"cell": "",
"company": "",
"country": {
"code": "ZA",
"iso2": "ZA",
"iso3": "ZAF",
"name": "South Africa"
},
"credit": "0.00",
"credit_cents": 0,
"currency": {
"code": "ZAR",
"format": "R%.2f",
"enabled": true
},
"discount": "0.00",
"email": "",
"firstname": "test4128",
"payment": "netcash",
"payment_method": {
"depth": 2,
"code": "netcash",
"name": "Netcash Collect",
"enabled": true
},
"surname": "",
"totals": {
"unpaid_invoices": "555.58",
"unpaid_invoices_cents": 55558,
"paid_payments": "0.00",
"paid_payments_cents": 0
},
"urls": {
"statement": "https://demo.snapbill.com/statement/Clw:mzu/=NTYxY2UyN2E5",
"payment": "https://demo.snapbill.com/payment/client/Clw:mzu/=YjE5YTM0YWNm"
},
"data": {
"public_city": null,
"public_country": null,
"public_fax": null,
"public_phone": null,
"public_postal": null,
"public_postcode": null,
"public_province": null,
"public_street": null,
"vat_number": null
}
}
}
}
| Name | Required | Description |
|---|---|---|
| username | optional | Only list users with the given username |
| password | optional | List users with the given password. Note that this is only available if username is provided, and functions as a username/password check) |
| client_id | optional | List users with belonging to the given client |
| perpage | optional | Show this number of users per page. Default value is 25, maximum is 100. |
| page | optional | Show users on this page. The default value is 1. |
$ curl -u user:pass -d "username=george" \ > https://api.snapbill.com/v1/user/list.json
File: examples/user.txt-2.json -
{
"code": 200,
"type": "list",
"page": 1,
"numpages": 1,
"class": "user",
"list": [
{
"depth": 0,
"id": 2480,
"xid": "Clw:mw",
"username": "george",
"name": "George",
"email": "george@example.com",
"type": "user",
"client": {
"depth": 1,
"id": 158958,
"xid": "Clw:mzu",
"state": "active",
"number": "001",
"name": "test4128",
"account": {
"depth": 1,
"id": 10608,
"xid": "Clw:Clw",
"username": "demo"
},
"cell": "",
"company": "",
"country": {
"code": "ZA",
"iso2": "ZA",
"iso3": "ZAF",
"name": "South Africa"
},
"credit": "0.00",
"credit_cents": 0,
"currency": {
"code": "ZAR",
"format": "R%.2f",
"enabled": true
},
"discount": "0.00",
"email": "",
"firstname": "test4128",
"payment": "netcash",
"payment_method": {
"depth": 2,
"code": "netcash",
"name": "Netcash Collect",
"enabled": true
},
"surname": "",
"totals": {
"unpaid_invoices": "555.58",
"unpaid_invoices_cents": 55558,
"paid_payments": "0.00",
"paid_payments_cents": 0
},
"urls": {
"statement": "https://demo.snapbill.com/statement/Clw:mzu/=NTYxY2UyN2E5",
"payment": "https://demo.snapbill.com/payment/client/Clw:mzu/=YjE5YTM0YWNm"
},
"data": {
"public_city": null,
"public_country": null,
"public_fax": null,
"public_phone": null,
"public_postal": null,
"public_postcode": null,
"public_province": null,
"public_street": null,
"vat_number": null
}
}
}
]
}
This api call will create a session in the client area for a given user. This allows you to provide automatic login functionality on your website.
Note The session created will time out if the user is not redirected to the url provided.
$ curl -u user:pass -d "" \ > https://api.snapbill.com/v1/user/2480/add_session.json
File: examples/user.txt-3.json -
{
"code": 200,
"type": "item",
"class": "session",
"session": {
"depth": 0,
"url": "https://demo.snapbill.com/session/s1.cee127d7c7b9df84b70200e3a899ca16bdf22828/=ZGZhNjZjNWM0"
}
}
| Name | Availability | Description | |
|---|---|---|---|
| depth | get | The depth parameter signals the amount of data for the user that was provided. depth=0 is the highest level that provides full detail. | |
| id | get | The id of the user in the system. This is guaranteed to be unique only over a single account. | |
| xid | get | The xid of the user in the system. This is guaranteed to be unique over all accounts (see Concepts - Xid) | |
| name | add | get | The users name which is displayed while logged in |
| add | get | Contact email address. Lost password recovery will accept this address to reset just the single users password. | |
| username | add | get | Username for login in the client area |
| password | add | Password for the client area. Once added this is hashed using bcrypt and not recoverable, although you can easily check if you have the correct password with a search. | |