• Nenhum resultado encontrado

Manual da API REST - Versão 1.0

N/A
N/A
Protected

Academic year: 2022

Share "Manual da API REST - Versão 1.0"

Copied!
12
0
0

Texto

(1)

Manual da API REST - Versão 1.0

(2)

Autenticação

A autenticação é feita através do fornecimento da sua API Key em todas as requisições. É possível obte-la através do menu configurações, aba API, de dentro da sua conta do Asaas. Sua API Key carrega muitos privilégios, portanto certifique-se de mantê-la secreta. Além disso, não é possível recuperá-la caso a perca, sendo necessário a geração de uma nova.

A API Key deve ser transmitida em todas as requisições no header “access_token”. Caso a chave seja inválida ou não informada você reberá como retorno o status HTTP 401.

Todas as requisições devem utilizar HTTPS. Requisições feitas através de HTTP falharão.

Resposta

Todas as repostas da API são objetos JSON.

Status HTTP de retorno

O Asaas utiliza respostas HTTP convencionais para indicar sucesso ou falha nas requisições. Via de regra, status 2xx indicam sucesso, status 4xx indicam falhas decorrentes de erros nas informações enviadas, e status 5xx indicam erros internos no servidor do Asaas.

● 200 OK - Tudo ocorreu conforme o esperado.

● 400 Bad Request - Algum parâmetro obrigatório não foi enviado ou é inválido.

● 401 Unauthorized - A API Key enviada é inválida.

● 404 Not Found - O objeto solicitado não existe.

● 500 Internal Server Error - Algo deu errado no servidor do Asaas.

Exemplo de reposta para status HTTP 400:

{

"errors":[

{

"code":"invalid_value",

"description":"O campo value deve ser informado"

}, {

"code":"invalid_dueDate",

"description":"O campo dueDate deve ser informado"

} ] }

(3)

Listagem/Paginação

É possível listar Clientes, Assinaturas, Cobranças e Notificações.

Para paginar os resultados da lista são utilizados dois parâmetros:

● limit: quantidade de objetos por página

● offset: posição do objeto a partir do qual a página deve ser carregada. O objeto inicial possui a posição 0.

Por exemplo, utilizando limit 10 e offset 0 será retornada a primeira página com 10 objetos. Utilizando limit 10 e offset 10 trará a segunda página, limit 10 e offset 20 a terceira página, e assim por diante.

O limit deve ser um valor numérico entre 1 e 100. Caso seja omitido será utilizado o valor padrão: 10.

Exemplo de resposta para listagem

{

"object":"list", "hasMore":true, "limit":10, "offset":0, "data":[

{

"object":"payment", "id":"pay_tVnBgQwwUb9T", "customer":170,

"value":159.0, "netValue":154.0, "originalValue":null, "nossoNumero":"30086894",

"description":"Cobrança Junho/2014", "billingType":"BOLETO",

"status":"PENDING", "dueDate":"20/06/2014", "paymentDate":"01/06/2014",

"invoiceUrl":"https://www.asaas.com/p/vc/vVOYPtI8", "boletoUrl":"https://www.asaas.com/b/pdf/vVOYPtI8", "deleted":false

}, {...}, {...}

] }

Os objetos localizados, de acordo com os parâmetros da requisição, ficam no atributo “data”. O atributo

“hasMore” terá o valor true sempre houver mais uma página a ser buscada, considerando o “offset”

previamente utilizado.

(4)

Objeto Cliente (customer)

Atributos

Nome Tipo Finalidade

id String Identificador único do cliente

name String Nome do cliente

email String Email do cliente

company String Nome da compania

phone String Telefone do cliente. Formato: (00) 0000-0000 mobilePhone String Telefone celular do cliente. Formato: (00) 0000-0000 address String Endereço da assinatura (Rua, Av, etc)

addressNumber String Número do endereço

complement String Complemento do endereço

province String Bairro do endereço

city String Cidade do cliente

state String Estado (UF) do cliente. Utilizar valores padrão (SP, RJ, SC, MG, BA, etc) country String País do cliente. Somente Brasil.

postalCode String Código postal (CEP)

cpfCnpj String CPF ou CNPJ do cliente (somente números)

personType String Define se cliente pessoa física ou juridica. Valores válidos: FISICA ou JURIDICA subscriptions Lista Lista de assinaturas do cliente, caso exista. Verificar objeto “subscription”.

payments Lista Lista de cobranças do cliente, caso exista. Verificar objeto “payment”

notifications Lista Lista de notificações do cliente, caso exista. Verificar objeto “notification”

(5)

Criar um novo cliente

POST https://asaas.com/api/v1/customers

Recuperar cliente existente

GET https://asaas.com/api/v1/customers/{CUSTOMER_ID}

Atualizar cliente

POST https://asaas.com/api/v1/customers/{CUSTOMER_ID}

Remover cliente

DELETE https://asaas.com/api/v1/customers/{CUSTOMER_ID}

Listar clientes

GET https://asaas.com/api/v1/customers

Exemplo de resposta (JSON)

{

"object":"customer", "id":"cus_LBbjQ2L4z0K7", "name":"João Silva",

"email":"[email protected]", "company":null,

"phone":"(11) 00000000",

"mobilePhone":"(11) 000000000", "address":"Rua Adalberto Silva", "addressNumer":null,

"complement":"Apto 205", "province":null,

"city":"São Paulo", "state":"SP", "country":"Brasil", "postalCode":null,

"cpfCnpj":"089.926.717-33", "personType":null,

"deleted":false, "subscriptions":{...}, "payments":{...}, "notifications":{...}

}

(6)

Objeto Assinatura (subscription)

Atributos

Nome Tipo Finalidade

id String Identificar único da assinatura

customer String Identificador único do cliente

value Double Valor da assinatura

nextDueDate Data (dd/MM/yyy) Data de vencimento da próxima cobrança

cycle String Intervalo de cobrança. Veriricar tabela de intervalos.

billingType String Forma de pagamento.. Valores válidos: BOLETO.

description String Descrição da assinatura

payments Lista Lista de cobranças da assinatura

Intervalos de assinatura

Valor Descrição

MONTHLY Mensal

QUARTERLY Trimestral SEMIANNUALLY Semestral

YEARLY Anual

(7)

Criar uma nova assinatura

POST https://asaas.com/api/v1/subscriptions

Recuperar assinatura existente

GET https://asaas.com/api/v1/subscriptions/{SUBSCRIPTION_ID}

Atualizar assinatura

POST https://asaas.com/api/v1/subscriptions/{SUBSCRIPTION_ID}

Remover assinatura

DELETE https://asaas.com/api/v1/subscriptions/{SUBSCRIPTION_ID}

Listar assinaturas

GET https://asaas.com/api/v1/subscriptions

Listar assinaturas de um cliente específico

GET https://asaas.com/api/v1/customers/{CUSTOMER_ID}/subscriptions

Exemplo de resposta (JSON)

{

"object":"subscription", "id":"sub_ni728YdjJgpG", "customer":"cus_LBbjQ2L4z0K7", "value":59.9,

"nextDueDate":"06/07/2014", "cycle":"MONTHLY",

"description":"Plano 2 vezes por semana", "billingType":"BOLETO",

"deleted":false, "payments":{

"object":"list", "hasMore":false, "limit":10, "offset":0, "data":[

{...}, {...}

] } }

(8)

Objeto Cobrança (payment)

Atributos

Nome Tipo Finalidade

id String Identificador único da cobrança

customer String Identificador único do cliente

subscription String Identificador único da assinatura, quando houver.

billingType String Forma de pagamento. Valores válidos: BOLETO.

value Double Valor da cobrança

netValue Double Valor líquido (calculado pelo Asaas)

originalValue Double Valor original (preenchido somente quando a cobrança é recebida com valor diferente do cadastrado)

dueDate Date Data de vencimento.

status String Status da cobrança (Verificar tabela de status).

nossoNumero String Identificador único do boleto bancário description String Descrição da cobrança

invoiceUrl String Link público para a fatura

boletoUrl String Link público para dow nload do PDF do boleto

Status de cobrança

Valor Descrição

PENDING Aguardando pagamento RECEIVED Cobrança paga OVERDUE Cobrança atrasada

(9)

Criar uma nova cobrança

POST https://asaas.com/api/v1/payments

Recuperar cobrança existente

GET https://asaas.com/api/v1/payments/{PAYMENT_ID}

Atualizar cobrança

POST https://asaas.com/api/v1/payments/{PAYMENT_ID}

Remover cobrança

DELETE https://asaas.com/api/v1/payments/{PAYMENT_ID}

Listar cobranças

GET https://asaas.com/api/v1/payments

Listar cobranças de um cliente específico

GET https://asaas.com/api/v1/customers/{CUSTOMER_ID}/payments

Exemplo de resposta (JSON)

{

"object":"payment", "id":"pay_tVnBgQwwUb9T", "customer":"cus_LBbjQ2L4z0K7", "subscription":"sub_ni728YdjJgpG", "value":59.9,

"netValue":54.9, "originalValue":null, "nossoNumero":"07691040", "description":null, "billingType":"BOLETO", "status":"PENDING", "dueDate":"06/06/2014", "paymentDate":null,

"invoiceUrl":"https://www.asaas.com/p/vc/vVOYPtI8",, "boletoUrl":"https://www.asaas.com/b/pdf/vVOYPtI8",, "deleted":false

}

(10)

Objeto Notificação (notification)

Atributos

Nome Tipo Finalidade

id String Identificador único da notificação

customer String Identificador único do cliente

event String Tipo de evento (Verificar tabela de eventos)

scheduleOffset Integer Somente para o evento PAYMENT_DUEDATE_WARNING.

Especifica quantos dias antes do vencimento a notificação deve ser enviada. Valores válidos: 0, 5, 10 ou 15

emailEnabledForProvider Boolean Desabilita/habilita envio de email para o fornecedor smsEnabledForProvider Boolean Desabilita/habilita envio de sms para o fornecedor emailEnabledForCustomer Boolean Desabilita/habilita envio de email para o cliente smsEnabledForCustomer Boolean Desabilita/habilita envio de sms para o cliente enabled Boolean Desabilita/habilita a notificação

Eventos disponíveis

Nome Evento

PAYMENT_CREATED Geração de nova cobrança

PAYMENT_UPDATED Alteração no vencimento ou valor de cobrança existente.

PAYMENT_RECEIVED Confirmação de pagamento.

PAYMENT_OVERDUE Cobrança vencida

PAYMENT_DUEDATE_WARNING Aviso de vencimento da cobrança

(11)

Criar uma nova notificação

POST https://asaas.com/api/v1/notifications

Recuperar notificação existente

GET https://asaas.com/api/v1/notifications/{NOTIFICATION_ID}

Atualizar notificação

POST https://asaas.com/api/v1/notifications/{NOTIFICATION_ID}

Remover notificação

DELETE https://asaas.com/api/v1/notifications/{NOTIFICATION_ID}

Listar notificações

GET https://asaas.com/api/v1/notifications

Listar notificações de um cliente específico

GET https://asaas.com/api/v1/customers/{CUSTOMER_ID}/notifications

Exemplo de resposta (JSON)

{

"object":"notification", "id":"not_okSCr4Uo4HP4", "customer":"cus_LBbjQ2L4z0K7", "enabled":true,

"emailEnabledForProvider":false, "smsEnabledForProvider":false, "emailEnabledForCustomer":true, "smsEnabledForCustomer":false, "event":"PAYMENT_DUEDATE_WARNING", "scheduleOffset":0,

"deleted":false }

(12)

Aplicativo para testes

Para testar a API sugerimos que seja utilizado o aplicativo REST Console, disponível na Chrome Web Store. Com ele é possível testar todos os métodos da API, incluindo recuperação, criação e atualização de dados.

Acesse: https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn

Referências

Documentos relacionados

□ Se o documento não está assinado na base de dados e tem um número atribuído, numa série de documentos tipificada como não assinada, será impresso "CÓPIA DO

Morgado, como era chamado pelos seus colegas, Ana Cristina Pereira Morgado, sua filha, assumiu a presidéncia da Associacao no ano de 2017.Atualmente, a Associacao tem sede propria

funcao reparativa que se consubstancia na obrigacao de devolver a vitima ao statu quo ante, seja diante da restituicao da coisa, seja atraves de um valor pecuniario que a

Os seguintes efeitos secundários são muito raros (afectam menos de 1 em cada 10.000 pessoas):. Alterações na análise sanguínea (diminuição de glóbulos vermelhos ou brancos e das

Esta edição traz exemplos concretos desse avanço, como a conquista da não-incidência do ISS (Imposto Sobre Serviço) nas operações de leasing e a isenção para as empre- sas

Esse trabalho visa conhecer seus clientes, mercado e desenvolver um plano de comunicação adequado para expandir seu market share no setor de tatuagens em São Paulo e

Ressalta-se que os valores de motilidade semelhantes entre o sêmen diluído em citrato-gema e o adicionado ao meio à base de leite, até 120 minutos pós-diluição, sugere que ambos

[r]