As APIs de Categorias disponibiliza a manutenção das categorias dentro da plataforma Tray, possiblilitando criar, atualizar e excluir as categorias por aplicações externas.

Consultar Árvore de Categorias

Requisição para consultar os dados das categorias de forma estruturada.

  Método GET

https://{api_address}/categories/tree/:id

Código de Exemplo


 

<?php
    $params["access_token"] = "### Chave de Acesso ###";
    $params["sort"] = "id_desc";

    $url = "https://{api_address}/categories/tree/123?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/tree/123";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    
queryParameters.Add("sort", "id_desc");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/categories/tree/123";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");
mapToConvert.put("sort", "id_desc");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String Token de acesso
:id String Código da categoria

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
Category Object[] Lista da categoria
    slug String Final da URL da categoria
    id Number Código da categoria
    parent_id Number Código da categoria pai
    name String Nome da categoria
    description String Descrição da categoria
    title String Titulo da categoria
    small_description String Descrição resumida da categoria
    link Object URLs da categoria
      http String URL da categoria
      https String URL segura da categoria
    images Object[] Imagens da categoria
      http Number URL da imagem da categoria
      https Number URL segura da imagem da categoria
    has_product Number Categoria com produto relacionado 0|1
    children Object[] Subcategoria do produto (com os mesmos dados deste Object[] Category)

 

Retorno de Sucesso

HTTP/1.1 200 OK
{
    "Category": [
        {
            "Category": {
                "slug": "categoria-teste",
                "id": "123",
                "parent_id": "",
                "name": "Categoria Teste",
                "description": "Descrição da Categoria de Teste",
                "title": "",
                "small_description": "",
                "link": {
                    "http": "http://loja.commercesuite.com.br/categoria-teste",
                    "https": "https://loja.commercesuite.com.br/categoria-teste"
                },
                "images": [
                    {
                        "http": "http://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png",
                        "https": "https://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png"
                    }
                ],
                "has_product": "1",
                "children": [
                    {
                        "Category": {
                            "slug": "subcategoria-teste",
                            "id": "456",
                            "parent_id": "",
                            "name": "Subcategoria Teste",
                            "description": "Descrição da Categoria de Teste",
                            "title": "",
                            "small_description": "",
                            "link": {
                                "http": "http://loja.commercesuite.com.br/subcategoria-teste",
                                "https": "https://loja.commercesuite.com.br/subcategoria-teste"
                            },
                            "images": [
                                {
                                    "http": "http://images.tcdn.com.br/img/img_prod/123/categoria_img_1_456.png",
                                    "https": "https://images.tcdn.com.br/img/img_prod/123/categoria_img_1_456.png"
                                }
                            ],
                            "has_product": "1",
                            "children": null
                        }
                    }
                ]
            }
        }
    ]
}

 

Consultar Dados de Categorias

Requisição para consultar os dados das categorias.

 Método GET

https://{api_address}/categories/

Código de Exemplo


 

<?php
    $params["access_token"] = "### Chave de Acesso ###";
    $params["sort"] = "id_desc";

    $url = "https://{api_address}/categories/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    
queryParameters.Add("sort", "id_desc");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/categories/";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");
mapToConvert.put("sort", "id_desc");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String Token de acesso
attrs String Atributos da categoria
limit Number Limite de registros
page Number Página corrente
sort String Ordenação ex.: [campo]_[asc/desc]

 

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
paging Object Dados de paginação
  total Number Total de registros
  page Number Página corrente
  offset Number Registro inicial da página
  limit Number Limite de registros
  maxLimit Number Máximo de registros
sort Object[] Ordenação
availableFilters String[] Filtros disponíveis
appliedFilters String[] Filtros utilizados
Categories Object Lista de categorias
  Category Object Dados da categoria
    id Number Código da categoria
    parent_id Number Código da categoria pai
    name String Nome da categoria
    description String Descrição da categoria
    small_description String Descrição resumida da categoria
    Images Object[] Imagens da categoria
      http Number URL da imagem da categoria
      https Number URL segura da imagem da categoria
HTTP/1.1 200 OK
{
    "paging": {
        "total": 39,
        "page": 1,
        "offset": 0,
        "limit": 30,
        "maxLimit": 50
    },
    "sort": [
        {
            "id": "asc"
        }
    ],
    "availableFilters": [
        "id",
        "name",
        "parent_id"
    ],
    "appliedFilters": [],
    "Categories": [
        {
            "Category": {
                "id": "123",
                "parent_id": "",
                "name": "Categoria Teste",
                "description": "Descrição da Categoria de Teste",
                "small_description": "",
                "Images": [
                    {
                        "http": "http://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png",
                        "https": "https://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png"
                    }
                ]
            }
        }
    ]
}

 

Consultar Dados da Categoria-por :id

Requisição para consultar os dados de uma categoria.

  Método GET

https://{api_address}/categories/:id

Código de Exemplo


 

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/categories/123?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/123";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/categories/123";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String Chave de acesso
:id String Código da categoria

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
Category Object Dados da categoria
  slug String Final da URL da categoria
  id Number Código da categoria
  parent_id Number Código da categoria pai
  name String Nome da categoria
  description String Descrição da categoria
  order Number Ordem de exibição da categoria
  small_description String Descrição resumida da categoria
  link Object URLs da categoria
    http String URL da categoria
    https String URL segura da categoria
  has_acceptance_term Number Categoria com termo de aceitação ( 0 | 1)
  acceptance_term String Texto com os termos a ser aceito na categoria
  Images Object[] Imagens da categoria
    http Number URL da imagem da categoria
    https Number URL segura da imagem da categoria

Retorno de Sucesso

HTTP/1.1 200 OK
{
    "Category": {
        "slug": "categoria-teste",
        "id": "123",
        "parent_id": "",
        "name": "Categoria Teste",
        "description": "Descrição da Categoria de Teste",
        "order": "2",
        "title": "",
        "small_description": "",
        "link": {
            "http": "http://loja.commercesuite.com.br/categoria-teste",
            "https": "https://loja.commercesuite.com.br/categoria-teste"
        },
        "has_acceptance_term": "",
        "acceptance_term": "",
        "Images": [
            {
                "http": "http://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png",
                "https": "https://images.tcdn.com.br/img/img_prod/123/categoria_img_1_123.png"
            }
        ]
    }
}

 

Cadastrar Categoria

Requisição para criação de uma categoria. Deverá enviar o JSON com os dados da categoria para a criação.

Método POST

https://{api_address}/categories/

Código de Exemplo

<?php
 $params["access_token"] = "### Chave de Acesso ###";

    $data["Category"]["name"] = "Categoria Teste";
    $data["Category"]["description"] = "Categoria de Teste da Loja";
    $data["Category"]["slug"] = "categoria-teste";
    $data["Category"]["order"] = "2";
    $data["Category"]["title"] = "Categoria de Teste";
    $data["Category"]["small_description"] = "Categoria de Teste da Loja";
    $data["Category"]["has_acceptance_term"] = "1";
    $data["Category"]["acceptance_term"] = "Eu aceito os termos de uso ...";
    $data["Category"]["metatag"]["keywords"] = "categoria teste";
    $data["Category"]["metatag"]["description"] = "categoria teste da loja";
    $data["Category"]["property"] = ["Característica Teste 1","Característica Teste 2"];

    $url = "https://{api_address}/categories/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "201"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string postString  = "{";
       postString += "  \"Category\": {";
       postString += "      \"name\": \"Categoria Teste\",";
       postString += "      \"description\": \"Categoria de Teste da Loja\",";
       postString += "      \"parent_id\": \"2\",";
       postString += "      \"slug\": \"categoria-teste\",";
       postString += "      \"order\": \"2\",";
       postString += "      \"title\": \"Categoria de Teste\",";
       postString += "      \"small_description\": \"Categoria de Teste da Loja\",";
       postString += "      \"has_acceptance_term\": \"1\",";
       postString += "      \"acceptance_term\": \"Eu aceito os termos de uso ...\",";
       postString += "      \"metatag\": {";
       postString += "          \"keywords\": \"categoria teste\",";
       postString += "          \"description\": \"categoria teste da loja\"";
       postString += "      },";
       postString += "      \"property\": [";
       postString += "          \"Característica Teste 1\",";
       postString += "          \"Característica Teste 2\"";
       postString += "      ]";
       postString += "  }";
       postString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();

String url = "https://{api_address}/categories/";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("POST");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String postString  = "{";
           postString += "  \"Category\": {";
           postString += "      \"parent_id\": \"123\",";
           postString += "      \"name\": \"Categoria Teste\",";
           postString += "      \"description\": \"Categoria de Teste da Loja\",";
           postString += "      \"slug\": \"categoria-teste\",";
           postString += "      \"order\": \"2\",";
           postString += "      \"title\": \"Categoria de Teste\",";
           postString += "      \"small_description\": \"Categoria de Teste da Loja\",";
           postString += "      \"has_acceptance_term\": \"1\",";
           postString += "      \"acceptance_term\": \"Eu aceito os termos de uso ...\",";
           postString += "      \"metatag\": {";
           postString += "          \"keywords\": \"categoria teste\",";
           postString += "          \"description\": \"categoria teste da loja\"";
           postString += "      },";
           postString += "      \"property\": [";
           postString += "          \"Característica Teste 1\",";
           postString += "          \"Característica Teste 2\"";
           postString += "      ]";
           postString += "  }";
           postString += "}";
           
    // Send post request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(postString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();

Parâmetros enviados

Campo Tipo (Tamanho) Descrição
access_token String Chave de acesso
Category JSON Dados da categoria
  name String (255) Nome da categoria
  description String Descrição da categoria
  slug String (255) Final da URL da categoria
  order Number Posição na Ordenação das Categorias
  title String (255) Title da pagina de categorias
  small_description String Descrição detalhada da Categoria
  has_acceptance_term Number Categoria com termo de aceitação ( 0 | 1)
  acceptance_term String Texto com os termos a ser aceito na categoria
  Metatag Object Meta Tag
    keywords String (256) Palavras-Chaves de Meta Tag
    description String (256) Descrição de Meta Tag
  property String[] Características

 

Estrutura de Json

POST /categories/?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "Category": {
        "name": "Categoria Teste", 
        "description": "Categoria de Teste da Loja",
        "slug": "categoria-teste",
        "order":"2",
        "title": "Categoria de Teste",
        "small_description":"Categoria de Teste da Loja",
        "has_acceptance_term":"1",
        "acceptance_term": "Eu aceito os termos de uso ...",
        "metatag": {
            "keywords": "categoria teste 123",
            "description": "categoria teste da loja 123"
        },
        "property": [
            "Característica Teste 1 123",
            "Característica Teste 2 123"
        ]
    }
}>

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
id Number Código da categoria
code Number Código do retorno (201)

 

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Created",
    "id": "456",
    "code": 201
}

Observação:

Para cadastrar uma sub categoria, deverá ser realizado os mesmos procedimento para o cadastro da categoria pai, tendo como única informação adicional no corpo da requisição do json, o campo `"parent_id"`(categoria pai).

 

Atualizar Dados da Categoria

Requisição para alterar os dados de uma categoria. Deverá enviar o JSON com os dados do categoria para a alteração.

Método PUT

https://{api_address}/categories/:id

Código de Exemplo

<?php
 $params["access_token"] = "### Chave de Acesso ###";

    $data["Category"]["name"] = "Categoria Teste";
    $data["Category"]["description"] = "Categoria de Teste da Loja";
    $data["Category"]["slug"] = "categoria-teste";
    $data["Category"]["order"] = "2";
    $data["Category"]["title"] = "Categoria de Teste";
    $data["Category"]["small_description"] = "Categoria de Teste da Loja";
    $data["Category"]["has_acceptance_term"] = "1";
    $data["Category"]["acceptance_term"] = "Eu aceito os termos de uso ...";
    $data["Category"]["metatag"]["keywords"] = "categoria teste";
    $data["Category"]["metatag"]["description"] = "categoria teste da loja";
    $data["Category"]["property"] = ["Característica Teste 1","Característica Teste 2"];

    $url = "https://{api_address}/categories/456?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/456";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string postString  = "{";
       postString += "  \"Category\": {";
       postString += "      \"name\": \"Categoria Teste\",";
       postString += "      \"description\": \"Categoria de Teste da Loja\",";
       postString += "      \"slug\": \"categoria-teste\",";
       postString += "      \"order\": \"2\",";
       postString += "      \"title\": \"Categoria de Teste\",";
       postString += "      \"small_description\": \"Categoria de Teste da Loja\",";
       postString += "      \"has_acceptance_term\": \"1\",";
       postString += "      \"acceptance_term\": \"Eu aceito os termos de uso ...\",";
       postString += "      \"metatag\": {";
       postString += "          \"keywords\": \"categoria teste\",";
       postString += "          \"description\": \"categoria teste da loja\"";
       postString += "      },";
       postString += "      \"property\": [";
       postString += "          \"Característica Teste 1\",";
       postString += "          \"Característica Teste 2\"";
       postString += "      ]";
       postString += "  }";
       postString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "PUT";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(putString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();

String url = "https://{api_address}/categories/456";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("PUT");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String postString  = "{";
           postString += "  \"Category\": {";
           postString += "      \"name\": \"Categoria Teste\",";
           postString += "      \"description\": \"Categoria de Teste da Loja\",";
           postString += "      \"slug\": \"categoria-teste\",";
           postString += "      \"order\": \"2\",";
           postString += "      \"title\": \"Categoria de Teste\",";
           postString += "      \"small_description\": \"Categoria de Teste da Loja\",";
           postString += "      \"has_acceptance_term\": \"1\",";
           postString += "      \"acceptance_term\": \"Eu aceito os termos de uso ...\",";
           postString += "      \"metatag\": {";
           postString += "          \"keywords\": \"categoria teste\",";
           postString += "          \"description\": \"categoria teste da loja\"";
           postString += "      },";
           postString += "      \"property\": [";
           postString += "          \"Característica Teste 1\",";
           postString += "          \"Característica Teste 2\"";
           postString += "      ]";
           postString += "  }";
           postString += "}";
           
    // Send put request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(putString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode == 200){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();

Parâmetros enviados

  nameStringNome da categoria

Field Type Description
access_token String Chave de acesso
:id Number Código da categoria (pai)
Category JSON Dados da categoria
  description String Descrição da categoria
  slug String Final da URL da categoria
  order Number Posição na Ordenação das Categorias
  title String Title da pagina de categorias
  small_description String Descrição detalhada da Categoria
  has_acceptance_term Number Categoria com termo de aceitação ( 0 | 1)
  acceptance_term String Texto com os termos a ser aceito na categoria
  Metatag Object Meta Tag
    keywords String Palavras-Chaves de Meta Tag
    description String Descrição de Meta Tag
  property String[] Características

 

Estrutura de Json

PUT /categories/123?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "Category": {
        "name": "Categoria Teste", 
        "description": "Categoria de Teste da Loja",
        "slug": "categoria-teste",
        "order":"2",
        "title": "Categoria de Teste",
        "small_description":"Categoria de Teste da Loja",
        "has_acceptance_term":"1",
        "acceptance_term": "Eu aceito os termos de uso ...",
        "metatag": {
            "keywords": "categoria teste 123",
            "description": "categoria teste da loja 123"
        },
        "property": [
            "Característica Teste 1 123",
            "Característica Teste 2 123"
        ]
    }
}

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
id Number Código da categoria
code Number Código do retorno (201)

 

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Created",
    "id": "456",
    "code": 201
}

 

Observação:

Para atualizar uma sub categoria, deverá ser realizado os mesmos procedimento acima, no entanto, na url o id informado deverá ser o id da subcategoria

E no corpo da requisição, deverá ser informado o campo `"parent_id"`, que será o id da categoria pai onde se encontra atualmente a subcategoria

 

Excluir Categoria

Requisição para excluir uma categoria.

Método DELETE

https://{api_address}/categories/:id

Código de Exemplo


 

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/categories/456?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/categories/456";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "DELETE";
webRequest.ContentType = "application/json";

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();

String url = "https://{api_address}/categories/456";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("DELETE");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode == 200){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();

Parâmetros enviados

Field Type Description
access_token String Chave de acesso
:id String Código da categoria

 

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String Mensagem de retorno
id String Código da categoria
code Number Código do retorno (200)

 

Json de retorno

 
HTTP/1.1 200 OK
{
    "message": "Deleted",
    "id": "456",
    "code": 200
}
Taynara Sene 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Powered by Zendesk