POST datastore/schemas
From Social ID Developers
(Difference between revisions)
(→Request) |
|||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == Description == | |
+ | |||
+ | Creates a new Schema. | ||
+ | |||
+ | == Resource URL == | ||
+ | |||
+ | POST https://api.socialidnow.com/v1/marketing/datastore/schemas | ||
+ | |||
+ | == Parameters == | ||
+ | |||
+ | === JSON Parameters === | ||
+ | |||
+ | {| | ||
+ | ! align="left" width="160px" | schema | ||
+ | | width="200px" | required | ||
+ | | a hash in the format field:value, with the necessary fields to create a schema: | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 20px" | name | ||
+ | | width="200px" | required | ||
+ | | schema name. | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 20px" | fields | ||
+ | | width="200px" | optional | ||
+ | | an array of hashes in the format field:value, with the necessary fields to create a field: | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 40px" | name | ||
+ | | width="200px" | required | ||
+ | | field name. | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 40px" | type | ||
+ | | width="200px" | required | ||
+ | | field type (array, boolean, date, date_time, float, hash, integer, string, time). | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 40px" | unique | ||
+ | | width="200px" | optional | ||
+ | | whether the field must be unique or not. Default: false | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 20px" | permissions | ||
+ | | width="200px" | optional | ||
+ | | hash with schema permissions: | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 40px" | write_protected | ||
+ | | width="200px" | optional | ||
+ | | whether the user is prohibited to write to the given schema or not. Default: false | ||
+ | |- | ||
+ | ! align="left" width="160px" style="padding-left: 40px" | read_protected | ||
+ | | width="200px" | optional | ||
+ | | whether the user is prohibited to read from the given schema or not. Default: false | ||
+ | |} | ||
+ | |||
+ | == Authentication == | ||
+ | |||
+ | This API requires Account authentication. See [[Authentication]]. | ||
+ | |||
+ | == Response == | ||
+ | |||
+ | === Response Status === | ||
+ | {| | ||
+ | ! align="left" width="200px" | created (201) | ||
+ | | The schema was created successfully. | ||
+ | |- | ||
+ | ! align="left" width="200px" | bad_request (400) | ||
+ | | Some required parameter was not informed. | ||
+ | |- | ||
+ | ! align="left" width="200px" | unauthorized (401) | ||
+ | | The authentication is wrong. See [[Authentication]]. | ||
+ | |- | ||
+ | ! align="left" width="200px" | unprocessable_entity (422) | ||
+ | | Validation error in the field "schema". | ||
+ | |- | ||
+ | ! align="left" width="200px" | internal_server_error (500) | ||
+ | | An unknown error happened. | ||
+ | |} | ||
+ | |||
+ | == Examples == | ||
+ | |||
+ | === Request === | ||
+ | |||
+ | Creates a new schema named "first_schema" with two fields, one named "first_field" with "string" type and another one named "second_field" with "integer" type. | ||
+ | |||
+ | curl -iX POST 'https://api.socialidnow.com/v1/marketing/datastore/schemas' \ | ||
+ | -d '{ | ||
+ | "schema": { | ||
+ | "name":"first_schema", | ||
+ | "fields":[ | ||
+ | { "name":"first_field", "type":"string" }, | ||
+ | { "name":"second_field", "type":"integer", "unique": true }, | ||
+ | { "name":"third_field", "type":"date_time", "unique": false } | ||
+ | ], | ||
+ | "permissions": { | ||
+ | "write_protected": true, | ||
+ | "read_protected": false | ||
+ | } | ||
+ | } | ||
+ | }' \ | ||
+ | -H 'Content-type: application/json' \ | ||
+ | --user 138:e8b9ca24f1b590af67e6271297d6e1f7226625d61c5b5daa1b2f215464e292cf | ||
+ | |||
+ | === Response === | ||
+ | |||
+ | ==== Response Headers ==== | ||
+ | |||
+ | HTTP/1.1 201 Created | ||
+ | Location: 'https://api.socialidnow.com/v1/marketing/datastore/schemas/first_schema' | ||
+ | Status: 201 |
Latest revision as of 20:38, 17 September 2019
Contents |
Description
Creates a new Schema.
Resource URL
POST https://api.socialidnow.com/v1/marketing/datastore/schemas
Parameters
JSON Parameters
schema | required | a hash in the format field:value, with the necessary fields to create a schema: |
---|---|---|
name | required | schema name. |
fields | optional | an array of hashes in the format field:value, with the necessary fields to create a field: |
name | required | field name. |
type | required | field type (array, boolean, date, date_time, float, hash, integer, string, time). |
unique | optional | whether the field must be unique or not. Default: false |
permissions | optional | hash with schema permissions: |
write_protected | optional | whether the user is prohibited to write to the given schema or not. Default: false |
read_protected | optional | whether the user is prohibited to read from the given schema or not. Default: false |
Authentication
This API requires Account authentication. See Authentication.
Response
Response Status
created (201) | The schema was created successfully. |
---|---|
bad_request (400) | Some required parameter was not informed. |
unauthorized (401) | The authentication is wrong. See Authentication. |
unprocessable_entity (422) | Validation error in the field "schema". |
internal_server_error (500) | An unknown error happened. |
Examples
Request
Creates a new schema named "first_schema" with two fields, one named "first_field" with "string" type and another one named "second_field" with "integer" type.
curl -iX POST 'https://api.socialidnow.com/v1/marketing/datastore/schemas' \ -d '{ "schema": { "name":"first_schema", "fields":[ { "name":"first_field", "type":"string" }, { "name":"second_field", "type":"integer", "unique": true }, { "name":"third_field", "type":"date_time", "unique": false } ], "permissions": { "write_protected": true, "read_protected": false } } }' \ -H 'Content-type: application/json' \ --user 138:e8b9ca24f1b590af67e6271297d6e1f7226625d61c5b5daa1b2f215464e292cf
Response
Response Headers
HTTP/1.1 201 Created Location: 'https://api.socialidnow.com/v1/marketing/datastore/schemas/first_schema' Status: 201