Escolar Documentos
Profissional Documentos
Cultura Documentos
Todas as chamadas são autenticadas via HTTP Basic. Cada parceiro recebe um usuário e senha em
forma de chaves longas formadas por letras e números. Todo o tráfego de dados utiliza o formato
JSON(com exceção das chamadas para PDF).
Em ambiente de produção, toda a comunicação deve ser feita exclusivamente sobre SSL (protocolo
https).
URL base
● Ambiente de testes: https://homolog.pitzi.com.br/api
● Ambiente de produção: https://api.pitzi.com.br/api
{
"order":{
"name":"Jose da Silva",
"phonenumber":"11999991010",
"email":"dev@pitzi.com.br",
"model":"iPhone 5 16 GB",
"imei":"1234567890123",
"plan":1,
"planprice":300.50,
"coo":"030662",
"date":"2013-11-21",
"payment_method":"upfront",
"installments":1,
"external_id":"12020",
"store_external_id":"1100",
"fiscal_document_number":"000928",
"seller_identifier":"22233344400",
"customer_document_number":"12345678908",
"customer_birthdate":"1987-09-27",
"invoice_number":"48502",
"invoice_date":"01-06-2017",
"customer_address_street":"Rua Marte",
"customer_address_state":"MG",
"customer_address_city":"Poços de Caldas",
"customer_address_complement":"casa 2",
"customer_address_number":"71",
"customer_address_zipcode":"37713172",
"customer_address_neighborhood":"Centro",
"device_value_paid":1390.90
}
}
N1: Se especificado, o campo external_id deverá ser único inclusive considerando as filiais. Ex: Se a
matriz é responsável por enviar as vendas de todas as filiais, poderia acontecer de existir duas ou
mais vendas com o mesmo número de pedido. Neste caso, uma alternativa seria concatenar o ID
da filial ao número do pedido para assim tornar o campo único.
N2: O campo store_external_id deverá ser enviado somente se desejar atrelar a respectiva venda
com uma Loja(filial) em particular. Caso contrário, a venda será vinculada com a Loja já atrelada na
credencial de acesso utilizada na chamada da API.
Em caso de sucesso, o sistema responde com HTTP status 201 e o seguinte JSON:
{
"order":{
"id":96984,
"email":"dev@pitzi.com.br",
"payment_method":"financed"
}
}
Em caso de falha, o sistema responde com HTTP status 400 e o seguinte JSON:
{
"status": "Ocorreu um problema"
}
GET service_terms/:order_id
Resposta
Em caso de sucesso, o sistema responde com HTTP status 200 e o PDF com os termos de uso.
Em caso de falha (pedido não existente), o sistema responde com HTTP status 404 e o seguinte
JSON:
{
"status": "Ocorreu um problema"
}
{
"representant_order":{
"model":"Apple iPhone 4 32GB",
"phonenumber":"11999991010",
"email":"cliente@email.com.br",
"imei":"457384958710298",
"seller_identifier":"22233344400",
"price":300.50,
"external_id":"12020",
"installments":6,
"customer_document_number":"1234567890",
"plan":1
}
}
Resposta:
Em caso de sucesso, o sistema responde com HTTP status 201 e o seguinte JSON:
{
"payment_url":
"https://pitzi.com.br/representante/assinatura/6575/autenticar?auth_token=6f59e6284
5c14cd48dcd04a45c54e708"
}
Em caso de falha, o sistema responde com HTTP status 400 e o seguinte JSON:
{
"status": "Ocorreu um problema",
"message": "Verifique os dados postados"
}
Cancelamento de assinatura
End-point
DELETE /orders/:order_id
Resposta
Sucesso
Em caso de sucesso, o sistema responde com HTTP status 200 e o seguinte JSON:
{
"status": "canceled"
}
Falha
Quando o prazo de cancelamento(7 dias corridos a partir da data da venda) já foi excedido, o
sistema responde com HTTP status 409 e o seguinte JSON:
{
"status": "not canceled",
"message": "can't be canceled after cancellation deadline"
}
GET /cancellation_term/:order_id
Exemplo de chamada
GET https://api.pitzi.com.br/api/cancellation_term/350890.pdf
Resposta
Sucesso
Em caso de sucesso, o sistema responde com HTTP status 200 e o PDF com o termo de
cancelamento.
Falha
Caso a assinatura não seja encontrada ou não esteja cancelada de fato, o sistema responde com
HTTP status 404.
Consulta de assinaturas
Consulta de uma assinatura por IMEI
End-point
GET /orders/search/?imei=xxx
Exemplo de chamada
GET https://api.pitzi.com.br/api/orders/search?imei=3534900568901
End-point
GET /orders/:order_id
Exemplo de chamada
GET https://api.pitzi.com.br/api/orders/485215
Resposta
Em caso de sucesso, o sistema responde com HTTP status 200 e o seguinte JSON:
{
order: {
id: 485215,
subscribed_at: "21-06-2017",
active: true,
payment_confirmed: true,
device_verification_status: "confirmed",
imei: "354015085563476",
plan_id: 40,
plan_name: "SEGURADORA",
store_external_id: "",
seller_code: "126",
seller_document_number: "91358148633",
payment_method: "upfront",
installments: 1,
device_value_paid: 899,
plan_price: 461.67,
invoice_number: "024092",
invoice_date: "21-06-2017",
customer_document_number: "11993457682",
customer_name: "João Silvas",
customer_email: "joao@hotmail.com",
customer_phonenumber: "(31) 993472695",
customer_birthdate: "1994-10-09",
customer_address_street: "Rua José de Castro",
customer_address_state: "MG",
customer_address_city: "Belo Horizonte",
customer_address_complement: "apto 804",
customer_address_number: "135",
customer_address_zipcode: "31530190",
customer_address_neighborhood: "Santo Clara",
product_model: "Samsung Galaxy J7 prime SM-G610M 32GB DUAL",
product_eans: [
"7892509093071",
"7892509091244",
"7899403632764"
],
product_tim_codes: [
"4011891",
"4011895",
]
}
}
Se o produto não for encontrado. o sistema responde com HTTP status 404 e o seguinte JSON:
{
"status": "Not found"
}
End-point
GET /products/ean/:valor_ean
Exemplo de chamada
GET https://api.pitzi.com.br/api/products/ean/7892509075701
Resposta
Em caso de sucesso, o sistema responde com HTTP status 200 e o seguinte JSON:
{
"product": {
"id": 553,
"name": "Samsung Galaxy S5 SM-G900",
"price": 35.0
}
}
{
"status": "Not found"
}
End-point
Exemplo de chamadas
Dica: quanto mais completo o parâmetro enviado, melhor é a precisão da busca (sempre que
possível incluir nome do fabricante, número do modelo etc)
Resposta
Em caso de sucesso, o sistema responde com HTTP status 200 e o seguinte JSON:
{
"product": {
"id": 553,
"name": "Samsung Galaxy S5 SM-G900",
"price": 35.0
}
}
Se o produto não for encontrado. o sistema responde com HTTP status 404 e o seguinte JSON:
{
"status": "Not found"
}
End-point
GET /products/tim_code_search
Exemplo de chamada
GET
https://api.pitzi.com.br/api/products/tim_code_search?tim_code=89456?ean=7892509075
701&plan=25
Resposta
Em caso de sucesso, o sistema responde com HTTP status 200 e o seguinte JSON:
{
"product": {
"id": 553,
"name": "Samsung Galaxy S5 SM-G900",
"price": 35.0,
"product_fee": 75.0
}
}
Se o produto não for encontrado. o sistema responde com HTTP status 404 e o seguinte JSON:
{
"status": "Not found"
}
Registro de leads
End-point
{
"lead":{
"type":"new_phone",
"phonenumber":"11999991010",
"email":"dev@pitzi.com.br",
"model":"iPhone 5 16 GB",
"brand":"Apple",
"name": "Dev Pitzi",
"document_number": "11111111111",
"address":"Rua Pitzi, 0 Centro",
"city":"São Paulo",
"state":"SP",
"new_phone": {
"purchased_at": "2015-08-25",
"price": 150.5,
"payment_method": "upfront"
}
}
}
Resposta
Em caso de sucesso, o sistema responde com HTTP status 201 e o seguinte JSON:
{
"lead":{
"id":17853,
"email":"dev@pitzi.com.br",
"active":true
}
}
Em caso de falha, o sistema responde com HTTP status 400 e o seguinte JSON:
{
"status": "Ocorreu um problema"
}
POST /orders/:order_id/device_verification
{
"device_diagnostics":
{"VOLUME_DOWN":0,"VOLUME_UP":0,"KEYCODE_BACK":0,"HEADSET_PLUGGED":0,"USB_CHARGE":0,
"AC_CHARGE":1},
"device_metadata":
[{"BOARD":"universal7870","BOOTLOADERTLOADER":"G610MUBU1AQB3","CPU_ABI":"armeabi-v7
a","CPU_ABI2":"armeabi","DEVICE":"on7xelte","DISPLAY":"MMB29K.G610MUBU1AQB3","FINGE
RPRINT":"samsung/on7xelteub/on7xelte:6.0.1/MMB29K/G610MUBU1AQB3:user/release-keys",
"HARDWARE":"samsungexynos7870","HOST":"SWHC3813","ID":"MMB29K","MANUFACTURER":"sams
ung","MODEL":"SM-G610M","PRODUCT":"on7xelteub","SERIAL":"330022c36d17b303","USER":"
dpi"},{"DEVICE_ID":"354015085193761","PHONE_NUMBER":"+5519588976764","SOFTWARE_VERS
ION":"01","OPERATOR_NAME":"Oi","SIM_COUNTRY_CODE":"br","SIM_OPERATOR":"Oi","SIM_SER
IAL_NO":"8955311929925234487","SUBSCRIBER_ID":"724311927467187","NETWORK_TYPE":"UMT
S","PHONE_TYPE":"GSM"},{"HEALTH":2,"ICON_SMALL":17303454,"LEVEL":88,"PLUGGED":0,"PR
ESENT":true,"SCALE":100,"STATUS":3,"TECHNOLOGY":"Li-ion","TEMPERATURE":234,"VOLTAGE"
:4192}],
"device_picture_urls": [ "https://s3.amazonaws.com/foo/bar1.jpg",
"https://s3.amazonaws.com/foo/bar2.jpg" ],
"device_params": {"product_name": "Samsung SM-G610M", "imei": "353490005916877" }
}
Resposta
Em caso de falha, o sistema responde com HTTP status 400 e o seguinte JSON:
{
"status": "Ocorreu um problema"
}