POST datastore/schemas

From Social ID Developers
(Difference between revisions)
Jump to: navigation, search
(Request)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
== Description ==
 
== Description ==
  
Cria um novo Schema.
+
Creates a new Schema.
  
 
== Resource URL ==
 
== Resource URL ==
Line 8: Line 8:
  
 
== Parameters ==
 
== Parameters ==
 +
 +
=== JSON Parameters ===
  
 
{|
 
{|
! align="left" width="200px"  | schema
+
! align="left" width="160px"  | schema
| width="200px" | obrigatório
+
| width="200px" | required
| um hash no formato campo:valor, contendo os campos necessários para criação do schema:
+
| a hash in the format field:value, with the necessary fields to create a schema:
 
|-
 
|-
! align="left" width="200px"  style="padding-left: 20px" | name
+
! align="left" width="160px"  style="padding-left: 20px" | name
| width="200px" | obrigatório
+
| width="200px" | required
| nome do schema
+
| schema name.
 
|-
 
|-
! align="left" width="200px"  style="padding-left: 20px" | fields
+
! align="left" width="160px"  style="padding-left: 20px" | fields
| width="200px" | opcional
+
| width="200px" | optional
| um array de hashes no formato campo:valor, contendo os campos necessários para criação dos fields:
+
| an array of hashes in the format field:value, with the necessary fields to create a field:
 
|-
 
|-
! align="left" width="200px"  style="padding-left: 40px" | name
+
! align="left" width="160px"  style="padding-left: 40px" | name
| width="200px" | obrigatório
+
| width="200px" | required
| nome do field
+
| field name.
 
|-
 
|-
! align="left" width="200px"  style="padding-left: 40px" | type
+
! align="left" width="160px"  style="padding-left: 40px" | type
| width="200px" | obrigatório
+
| width="200px" | required
| tipo do field (array, boolean, date, datetime, float, hash, integer, string, time)
+
| 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 ==
  
Esta API exige autenticação do Marketing Account. Ver [[#Authentication|Autenticação]].
+
This API requires Account authentication. See [[Authentication]].
  
 
== Response ==
 
== Response ==
  
==== Response Status ====
+
=== Response Status ===
 
{|
 
{|
 
! align="left" width="200px" | created (201)
 
! align="left" width="200px" | created (201)
| O schema foi criado com sucesso.
+
| The schema was created successfully.
|+
+
|-
 
! align="left" width="200px" | bad_request (400)
 
! align="left" width="200px" | bad_request (400)
| Algum parâmetro obrigatório não foi informado.
+
| Some required parameter was not informed.
|+
+
|-
 
! align="left" width="200px" | unauthorized (401)
 
! align="left" width="200px" | unauthorized (401)
| A autenticação está errada. Ver [[#Authentication|Autenticação]].
+
| The authentication is wrong. See [[Authentication]].
|+
+
|-
 
! align="left" width="200px" | unprocessable_entity (422)
 
! align="left" width="200px" | unprocessable_entity (422)
| Erro de validação no campo "schema".
+
| Validation error in the field "schema".
|+
+
|-
 
! align="left" width="200px" | internal_server_error (500)
 
! align="left" width="200px" | internal_server_error (500)
| Um erro desconhecido ocorreu.
+
| An unknown error happened.
 
|}
 
|}
  
== Example Request ==
+
== Examples ==
  
Cria um novo schema com nome "first_schema" e dois fields, um chamado "first_field" do tipo "string" e outro chamado "second_field" do tipo "integer".
+
=== 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
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox