POST datastore/schemas
From Social ID Developers
(Difference between revisions)
(→Request) |
|||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
− | + | Creates a new Schema. | |
== Resource URL == | == Resource URL == | ||
Line 8: | Line 8: | ||
== Parameters == | == Parameters == | ||
+ | |||
+ | === JSON Parameters === | ||
{| | {| | ||
− | ! align="left" width=" | + | ! align="left" width="160px" | schema |
− | | width="200px" | | + | | width="200px" | required |
− | | | + | | a hash in the format field:value, with the necessary fields to create a schema: |
|- | |- | ||
− | ! align="left" width=" | + | ! align="left" width="160px" style="padding-left: 20px" | name |
− | | width="200px" | | + | | width="200px" | required |
− | | | + | | schema name. |
|- | |- | ||
− | ! align="left" width=" | + | ! align="left" width="160px" style="padding-left: 20px" | fields |
− | | width="200px" | | + | | width="200px" | optional |
− | | | + | | an array of hashes in the format field:value, with the necessary fields to create a field: |
|- | |- | ||
− | ! align="left" width=" | + | ! align="left" width="160px" style="padding-left: 40px" | name |
− | | width="200px" | | + | | width="200px" | required |
− | | | + | | field name. |
|- | |- | ||
− | ! align="left" width=" | + | ! align="left" width="160px" style="padding-left: 40px" | type |
− | | width="200px" | | + | | 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 == | == Authentication == | ||
− | + | This API requires Account authentication. See [[Authentication]]. | |
== Response == | == Response == | ||
− | + | === Response Status === | |
{| | {| | ||
! align="left" width="200px" | created (201) | ! align="left" width="200px" | created (201) | ||
− | | | + | | The schema was created successfully. |
− | | | + | |- |
! align="left" width="200px" | bad_request (400) | ! align="left" width="200px" | bad_request (400) | ||
− | | | + | | Some required parameter was not informed. |
− | | | + | |- |
! align="left" width="200px" | unauthorized (401) | ! align="left" width="200px" | unauthorized (401) | ||
− | | | + | | The authentication is wrong. See [[Authentication]]. |
− | | | + | |- |
! align="left" width="200px" | unprocessable_entity (422) | ! align="left" width="200px" | unprocessable_entity (422) | ||
− | | | + | | Validation error in the field "schema". |
− | | | + | |- |
! align="left" width="200px" | internal_server_error (500) | ! 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' \ | curl -iX POST 'https://api.socialidnow.com/v1/marketing/datastore/schemas' \ | ||
Line 65: | Line 85: | ||
"fields":[ | "fields":[ | ||
{ "name":"first_field", "type":"string" }, | { "name":"first_field", "type":"string" }, | ||
− | { "name":"second_field", "type":"integer" } | + | { "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' \ | -H 'Content-type: application/json' \ | ||
--user 138:e8b9ca24f1b590af67e6271297d6e1f7226625d61c5b5daa1b2f215464e292cf | --user 138:e8b9ca24f1b590af67e6271297d6e1f7226625d61c5b5daa1b2f215464e292cf | ||
− | Response | + | === Response === |
+ | |||
+ | ==== Response Headers ==== | ||
HTTP/1.1 201 Created | HTTP/1.1 201 Created | ||
Location: 'https://api.socialidnow.com/v1/marketing/datastore/schemas/first_schema' | Location: 'https://api.socialidnow.com/v1/marketing/datastore/schemas/first_schema' | ||
Status: 201 | 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