- 1 Documentação API REST DMDS v2 API com cURL
- 1.1 Retorna informações de um contato
- 1.2 Listar contatos inválidos
- 1.3 Crie ou atualize um contato novamente
- 1.4 Invalidar um contato
- 1.5 Enviar um correo
- 1.6 Listar as campanhas
- 1.7 Crie um grupo
- 1.8 Listar los filtros
- 1.9 Listar as variáveis globais e seus valores
- 1.10 Criar variáveis globais
- 1.11 Limpar variáveis globais
Documentação API REST DMDS v2 API com cURL
Neste tutorial, mostraremos exemplos diferentes de como chamar o resto da API do DMDS (Data-Mining and Delivery Services) usando chamadas cURL. Tenha sempre em mente que método (GET, POST, DELETE, etc.) está sendo usado para cada chamada, os dados que são passados e o URL da chamada.
Retorna informações de um contato
Este exemplo mostra como retornar as informações de um contato específico. Na chamada, na url, você deve especificar o email do usuário já existente no banco de dados da API. Dessa forma, você será presenteado com todas as informações de um contato, como seu nome, sobrenome, grupo, eventos, etc.
curl -X GET "https://api-dmds-host/v1/contacto/correo@dominio.com" -H "accept: application/json" -H "Authorization: xxxxxxxxxxx
Listar contatos inválidos
Com esta chamada, todos os usuários que estiverem desabilitados serão exibidos.
curl -X GET "https://api-dmds-host/v1/contactos/invalidos/" -H "accept: application/json" -H 'Authorization: xxxxxxxxxxxxxx'
Crie ou atualize um contato novamente
Com a próxima chamada, você pode criar um contato novamente ou atualizar um já existente.
A primeira variável que é definida é o correio eletrônico, para entender é como uma chave primária no banco de dados. Sempre para atualizar um contato, basearemos seu email como ele é único.
Na parte de dados, definimos diferentes atributos, que podem ser definidos por um usuário. Todos esses campos podem ser alterados conforme o usuário altera alguns dos valores. Para especificar qual usuário queremos modificar, usaremos seu email.
curl -X POST "https://api-dmds-host/v1/contacto/" -H 'Authorization: xxxxxxxx' -H "accept: application/json" -H "Content-Type: application/json" -d '{"email": "correo@dominio.com", "nombre": "xxxx", "apellido": "xxxx", "edad": "x","sexo":"x","invalido": false, "grupo": "xxxx"}'
Invalidar um contato
Na mesma atualização de um contato, um contato pode ser invalidado ou validado. Por padrão, a variável inválida é sempre falsa. Mas no caso em que um usuário deseja cancelar ou invalidar, coloque essa variável em um (inválido: verdadeiro). Isso nos permite definir que esse contato está na lista de inválidos.
curl -X POST "https://api-dmds-host/v1/contacto/" -H 'Authorization: xxxxxxxx' -H "accept: application/json" -H "Content-Type: application/json" -d '{"email": "correo@dominio.com", "nombre": "xxxx", "apellido": "xxxx", "edad": "x","sexo":"x","invalido": false, "grupo": "xxxx"}'
Enviar um correo
Para enviar um email, vamos diferenciar os tipos que queremos enviar. Primeiro, há duas chamadas diferentes para enviar um email para um único destinatário e um email para vários destinatários. Para que a mudança seja muito básica, mude o contato por contatos. Duas outras chamadas são diferentes no envio de um html embutido ou um html usando o uri.
Chamada genérica
curl -X POST https://api-dmds-host/v1/envio/enviar/ -H "Accept:application/json" -H "Authorization:xxxxx" -H "Content-Type:application/json" -d'{"campana_id":"xxxxxxxxxx,"email":true,"contacto":{"email":"correo@dominio.com","nombre":"xxxxx","apellido":"xxxxx"}}'
Enviar um email para apenas um destinatário com html uri
Para fazer este envio é necessário definir alguns campos, como: o campo email deve ser sempre true, pois isso nos permite enviar o email. Se esse valor for falso, as mensagens não poderão ser enviadas. Outros valores para definir são o id da campanha e o email do destinatário. Os outros valores, como primeiro nome, sobrenome, assunto são opcionais. Caso você queira enviar um html via uri, ele é adicionado na seção html_url. Na seção de cabeçalhos, lembre-se de definir seu valor de autorização.
curl -X POST https://api-dmds-host/v1/envio/send_one_uri/ -H "Accept:application/json" -H "Authorization:xxxxxxx" -H "Content-Type:application/json" -d '{"campana_id":"xxxxxxx","email":true,"contacto":{"email":"correo@dominio.com","nombre":"xxxx","apellido":"xxxx"},"html_url":"http://xxxxxxx.html"}'
Enviar um email para apenas um destinatário com in-line html
A diferença da chamada anterior é como definir o html dentro do código.
curl -X POST https://api-dmds-host/v1/envio/send_one_inline/-H "Accept:application/json"-H "Authorization:xxxxxxx"-H "Content-Type:application/json" -d '{"campana_id":"xxxxxxxxxx","email":true,"contacto":{"email":"correo@dominio.com","nombre":"xxxxx","apellido":"xxxx"}, "html":"<html><head><title>Page Title</title></head><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"}'
Envie um email para mais de um destinatário com html uri
Para esta chamada, seguiremos o mesmo conceito que para os outros ao enviar uma mensagem. Neste caso, queremos enviar muitos destinatários, para isso, vamos definir uma matriz de usuários que queremos enviar e alterar o contato por contatos. No exemplo mostrado abaixo, enviamos um email para duas pessoas, mas você pode definir muito mais pessoas.
curl -X POST https://api-dmds-host/v1/envio/send_many_uri/ -H "Accept:application/json" -H "Authorization:xxxxx" -H "Content-Type:application/json" -d '{"campana_id":"xxxxxxxx","email":true,"contactos":[{"email":"contacto1@dominio.com","nombre":"xxxx","apellido":"xxxxxx"},{"email":"contacto2@doinio.com","nombre":"xxxxx","apellido":"xxxxx"}],"html_url":""}'
Enviar um email para mais de um destinatário com html in-line
curl -X POST https://api-dmds-host/v1/envio/send_many_inline/ -H "Accept:application/json" -H "Authorization:xxxxxxx" -H "Content-Type:application/json" -d '{"campana_id":"xxxxxx","email":true,"contactos":[{"email":"contacto1@dominio.com","nombre":"xxxxx","apellido":"xxxxxx"},{"email":"contacto2@dominio.com","nombre":"xxxx","apellido":"xxxxxx"}],"html":"<html><head><title>Page Title</title></head><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"}'
Listar as campanhas
Com a mesma estrutura, como listar contatos inválidos ou listar variáveis globais, podemos listar todas as campanhas existentes. Para isso, o método get é usado.
curl -X GET "https://api-dmds-host/v1/campania/" -H "accept: application/json" -H 'Authorization: xxxxxxxx'
Crie um grupo
Como vimos anteriormente, quando criamos ou modificamos um usuário, podemos atribuir um grupo a ele. Para poder atribuir um grupo, devemos ver se esse grupo existe, se ele não existe, podemos criá-lo da seguinte maneira.
curl -X POST "https://api-dmds-host/v1/grupo/" -H "accept: application/json" -H 'Authorization: xxxxxxxx' -H "Content-Type: application/json" -d '{"nombre": "xxxxx"}'
Listar los filtros
No sistema da API, você pode criar filtros diferentes, que ajudam a especificar as remessas.
Para ver esta lista de filtros existentes, seguimos o código mencionado abaixo.
curl -X GET "https://api-dmds-host/v1/filtros/" -H "accept: application/json" -H 'Authorization: xxxxxx' -H "Content-Type: application/json"
Listar as variáveis globais e seus valores
Na API, são definidas uma série de variáveis globais. Para ver quais são essas variáveis e seus valores, podemos ver o código a seguir.
curl -X GET "https://api-dmds-host/v1/global/" -H "accept: application/json" -H 'Authorization: xxxxxxxx'
Criar variáveis globais
Podemos sempre criar variáveis globais. Para a criação, usaremos o método post, onde passamos uma variável, que indicará o nome da variável global.
curl -X POST "https://api-dmds-host/v1/global/" -H "accept: application/json" -H 'Authorization: xxxxxxx' -H "Content-Type: application/json" -d '{"nombre": "newglobal","valor": "hola"}'
Limpar variáveis globais
Da mesma forma que criamos variáveis globais, podemos eliminá-las. Apenas neste vamos usar um método chamado ‘Delete’.
curl -X DELETE "https://api-dmds-host/v1/global/" -H "accept: application/json" -H 'Authorization: xxxxxx' -H "Content-Type: application/json" -d '{ "nombre": "newglobal", "valor": ""}'