Before Creating a User
This event trigger is fired when a user (member) object is created in the Mashery platform. Users are created:
During the registration process (via the portal)
Via the Administrative Dashboard (Users tab)
Via the Mashery API.
This event trigger event is executed before the actual user (member) object is saved in the Mashery database. As such, data can be enriched, e.g. adding data from your own systems into the Mashery member object, or a decision could be returned to not permit the save operation.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
POST |
Path |
/v1/member |
Parameters |
event=pre-create&txn=<transaction id will be provided at event trigger execution time> |
Body |
JSON, or application/x-www-form-urlencoded, representation of member object. This is determined by the setting found in the Integration tab of Portal Settings in the Mashery Console. |
Example Call:
POST /v1/member?event=pre-create&txn=6d2033620a65240f5649d479b06c636a HTTP/1.1
Host: api.customer.com
Accept: application/json
User-Agent: Mashery Event Trigger 1.0
Content-Type: application/json
{
"region": "",
"external_id": "",
"phone": "",
"address1": "",
"address2": "",
"area_status": "active",
"registration_ipaddr": "",
"blog": "http://blog.mashery.com",
"im": "",
"country_code": "",
"uri": "http://www.mashery.com",
"object_type": "member",
"first_name": "Event Trigger",
"display_name": "event triggerTester",
"username": "event triggerTester",
"created": "2012-10-09T15:34:50Z",
"updated": "2012-10-09T15:34:50Z",
"email": "jpollock@mashery.com",
"postal_code": "",
"company": "Mashery",
"last_name": "Test",
"locality": "",
"imsvc": ""
}
Expected Response Sent from Customer-hosted Endpoint
HTTP Response Code |
Content Type |
Content |
200 |
application/json |
{"type":"proceed"}
Example Response:
HTTP/1.1 200 OK
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:41:41 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 18
{"type":"proceed"}
|
200 |
application/json |
{"type":"proceed_with_changes","params": [array of object fields and values]}
Example Response:
HTTP/1.1 200 OK
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:43:13 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 77
{"type":"proceed_with_changes","params": [{"company": "This is a company name from my back-end system."}]}
|
400 |
application/json |
{"type":"stop","error": {"code":-32600, "message":"<Insert error message>","data":[array of object fields and error messages]}}
Example Response:
HTTP/1.1 400 Bad Request
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:43:57 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 136
{"type":"stop","error": {"code":-32600, "message":"That will never work","data":[{"field":"company","message":"Invalid company name"}]}}
|
Any other responses will be considered failure and save operation will not be performed. Additionally, if the execution of the event trigger takes longer than 10 seconds, then a timeout will occur, and the save operation will not be performed.
After Creating a User
This event trigger is fired when a member (developer) object is created in the Mashery platform. Members are created:
During the registration process (via the portal)
Via the Administrative Dashboard (Users tab)
Via the Mashery API.
This event trigger event is executed after the actual user (member) object is saved in the Mashery database.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
PUT |
Path |
/v1/member/<member id> |
Parameters |
event=post-create&txn=<transaction id will be provided at event trigger execution time> |
Body |
JSON, or application/x-www-form-urlencoded, representation of member object. This is determined by the setting found in the Integration tab of Portal Settings in the Mashery Console. |
Example Call:
PUT /v1/member/event triggerTester?event=post-create&txn=6d2033620a65240f5649d479b06c636a HTTP/1.1
Host: api.customer.com
Accept: application/json
User-Agent: Mashery Event Trigger 1.0
Content-Type: application/json
{
"region": "",
"external_id": "",
"phone": "",
"address1": "",
"address2": "",
"area_status": "active",
"registration_ipaddr": "",
"blog": "http://blog.mashery.com",
"im": "",
"country_code": "",
"uri": "http://www.mashery.com",
"object_type": "member",
"first_name": "Event Trigger",
"display_name": "event triggerTester",
"username": "event triggerTester",
"created": "2012-10-09T15:34:50Z",
"updated": "2012-10-09T15:34:50Z",
"email": "jpollock@mashery.com",
"postal_code": "",
"company": "Mashery",
"last_name": "Test",
"locality": "",
"imsvc": ""
}
Expected Response Sent from Customer-hosted Endpoint
Response Code |
HTTP status code - any non-200 response will be considered failure; future capabilities will allow for re-try of this operation if error received. Response does not impact any database operations - the data is already saved in the database and that operation cannot be rolled back due to a non-200 response - nor does it result in end-user errors. |
Before Updating a User
This event trigger is fired when a user (member) object is updated, or modified, in the Mashery platform. Users are updated:
By the user in the Portal My Account area
Via the Administrative Dashboard (Users tab)
Via the Mashery API.
This event trigger event is executed before the actual user (member) object is saved in the Mashery database. As such, data can be enriched, e.g. adding data from your own systems into the Mashery member object, or a decision could be returned to not permit the save operation.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
PUT |
Path |
/v1/member/<member id> |
Parameters |
event=pre-update&txn=<transaction id will be provided at event trigger execution time> |
Body |
JSON, or application/x-www-form-urlencoded, representation of member object. This is determined by the setting found in the Integration tab of Portal Settings in the Mashery Console. |
Example Call:
PUT /v1/member/event triggerTester?event=pre-update&txn=8109fa271d4b87e43425718592406dbe HTTP/1.1
Host: api.customer.com
Accept: application/json
User-Agent: Mashery Event Trigger 1.0
Content-Type: application/json
{
"region": "",
"external_id": "",
"phone": "",
"address1": "717 Market St.",
"address2": "",
"area_status": "active",
"registration_ipaddr": "",
"blog": "http://blog.mashery.com",
"im": "",
"country_code": "US",
"uri": "http://www.mashery.com",
"object_type": "member",
"first_name": "Event Trigger",
"display_name": "event triggerTester",
"username": "event triggerTester",
"created": "2012-10-09T15:34:50Z",
"updated": "2012-10-09T15:37:50Z",
"email": "jpollock@mashery.com",
"postal_code": "",
"company": "Mashery",
"last_name": "Test",
"locality": "",
"imsvc": ""
}
Expected Response Sent from Customer-hosted Endpoint
HTTP Response Code |
Content Type |
Content |
200 |
application/json |
{"type":"proceed"}
Example Response:
HTTP/1.1 200 OK
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:41:41 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 18
{"type":"proceed"}
|
200 |
application/json |
{"type":"proceed_with_changes","params": [array of object fields and values]}
Example Response:
HTTP/1.1 200 OK
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:43:13 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 77
{"type":"proceed_with_changes","params": [{"company": "This is a company name from my back-end system."}]}
|
400 |
application/json |
{"type":"stop","error": {"code":-32600, "message":"<Insert error message>","data":[array of object fields and error messages]}}
Example Response:
HTTP/1.1 400 Bad Request
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:43:57 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 136
{"type":"stop","error": {"code":-32600, "message":"That will never work","data":[{"field":"name","message":"Invalid application name"}]}}
|
Any other responses will be considered failure and save operation will not be performed. Additionally, if the execution of the event trigger takes longer than 10 seconds, then a timeout will occur, and the save operation will not be performed.
After Updating a User
This event trigger is fired when an updated, or modified, user (member) object is saved in the Mashery platform. This event trigger event is executed after the actual user (member) object is saved in the Mashery database.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
PUT |
Path |
/v1/member/<member id> |
Parameters |
event=post-update&txn=<transaction id will be provided at event trigger execution time> |
Body |
JSON, or application/x-www-form-urlencoded, representation of member object. This is determined by the setting found in the Integration tab of Portal Settings in the Mashery Console. |
Example Call:
PUT /v1/member/event triggerTester?event=post-update&txn=8109fa271d4b87e43425718592406dbe HTTP/1.1
Host: api.customer.com
Accept: application/json
User-Agent: Mashery Event Trigger 1.0
Content-Type: application/json
{
"region": "",
"external_id": "",
"phone": "",
"address1": "717 Market St.",
"address2": "",
"area_status": "active",
"registration_ipaddr": "",
"blog": "http://blog.mashery.com",
"im": "",
"country_code": "US",
"uri": "http://www.mashery.com",
"object_type": "member",
"first_name": "Event Trigger",
"display_name": "event triggerTester",
"username": "event triggerTester",
"created": "2012-10-09T15:34:50Z",
"updated": "2012-10-09T15:37:50Z",
"email": "jpollock@mashery.com",
"postal_code": "",
"company": "Mashery",
"last_name": "Test",
"locality": "",
"imsvc": ""
}
Expected Response Sent from Customer-hosted Endpoint
Response Code |
HTTP status code - any non-200 response will be considered failure; future capabilities will allow for re-try of this operation if error received. Response does not impact any database operations - the data is already saved in the database and that operation cannot be rolled back due to a non-200 response - nor does it result in end-user errors. |
Before Deleting a User
This event trigger is fired when a user (member) object is deleted in the Mashery platform. Users can be deleted:
By the user in the My Account area of the Portal
Via the Administrative Dashboard (Users tab)
Via the Mashery API.
This event trigger event is executed before the actual user (member) object is deleted in the Mashery database.
There are special considerations for deleting member objects, please understand them before calling this method. When a member object is deleted, the username associated with that member is not released. Therefore, any subsequence member.create for that same username will fail with a duplicate object error.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
DELETE |
Path |
/v1/member/<member id> |
Parameters |
event=pre-update&txn=<transaction id will be provided at event trigger execution time> |
Example Call:
DELETE /v1/member/event triggerTester?event=pre-delete&txn=fee6441aa6455470044328823113efce HTTP/1.1
Host: api.customer.com
Expected Response Sent from Customer-hosted Endpoint
HTTP Response Code |
Content Type |
Content |
200 |
application/json |
{"type":"proceed"}
Example Response:
HTTP/1.1 200 OK
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:41:41 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 18
{"type":"proceed"}
|
400 |
application/json |
{"type":"stop","error": {"code":-32600, "message":"<Insert error message>"}}
Example Response:
HTTP/1.1 400 Bad Request
Server: nginx/1.3.13
Date: Fri, 05 Apr 2013 18:43:57 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Accept-Encoding
X-Original-Transfer-Encoding: chunked
Content-Length: 136
{"type":"stop","error": {"code":-32600, "message":"That will never work"}}
|
Any other responses will be considered failure and save operation will not be performed. Additionally, if the execution of the event trigger takes longer than 10 seconds, then a timeout will occur, and the save operation will not be performed.
After Deleting a User
This event trigger is fired when a member (developer) object is created in the Mashery platform. Members are created:
During the registration process (via the portal)
Via the Administrative Dashboard (Users tab)
Via the Mashery API.
This event trigger event is executed after the actual user (member) object is deleted in the Mashery database.
There are special considerations for deleting member objects, please understand them before calling this method. When a member object is deleted, the username associated with that member is not released. Therefore, any subsequence member.create for that same username will fail with a duplicate object error.
Event Trigger Call Structure (Mashery to Customer-hosted Endpoint)
HTTP Method |
DELETE |
Path |
/v1/member/<member id> |
Parameters |
event=pre-update&txn=<transaction id will be provided at event trigger execution time> |
Example Call:
DELETE /v1/member/event triggerTester?event=post-delete&txn=fee6441aa6455470044328823113efce HTTP/1.1
Host: api.customer.com
Expected Response Sent from Customer-hosted Endpoint
Response Code |
HTTP status code - any non-200 response will be considered failure; future capabilities will allow for re-try of this operation if error received. Response does not impact any database operations - the data is already deleted from the database and that operation cannot be rolled back due to a non-200 response - nor does it result in end-user errors. |